This file is indexed.

/usr/share/pyshared/gevent/http.py is in python-gevent 0.13.6-1ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# Copyright (c) 2009-2010 Denis Bilenko. See LICENSE for details.
from gevent import core
from gevent.baseserver import BaseServer


__all__ = ['HTTPServer']


class HTTPServer(BaseServer):
    """An HTTP server based on libevent-http.

    *handle* is called with one argument: an :class:`gevent.core.http_request` instance.
    """

    default_response_headers = [('Connection', 'close')]

    def __init__(self, listener, handle=None, backlog=None, spawn='default', default_response_headers='default'):
        BaseServer.__init__(self, listener, handle=handle, backlog=backlog, spawn=spawn)
        self.http = None
        if default_response_headers != 'default':
            self.default_response_headers = default_response_headers

    def _on_request(self, request):
        spawn = self._spawn
        if spawn is None:
            self.handle(request)
        else:
            if self.full():
                self._on_full(request)
            else:
                spawn(self.handle, request)

    def _on_full(self, request):
        msg = 'Service Temporarily Unavailable'
        request.add_output_header('Connection', 'close')
        request.add_output_header('Content-type', 'text/plain')
        request.add_output_header('Content-length', str(len(msg)))
        request.send_reply(503, 'Service Unavailable', msg)

    def start_accepting(self):
        self.http = core.http(self._on_request, self.default_response_headers)
        self.http.accept(self.socket.fileno())

    def stop_accepting(self):
        self.http = None