Esempio n. 1
0
def defaultErrorHandler(request, response):
    if response.stream is not None:
        # Already got an error message
        return response
    if response.code < 300:
        # We only do error messages
        return response

    message = ERROR_MESSAGES.get(response.code, None)
    if message is None:
        # No message specified for that code
        return response

    message = message % {
        'uri': _escape(request.uri),
        'location': _escape(response.headers.getHeader('location')),
        'method': _escape(request.method)
    }

    title = RESPONSES.get(response.code, "")
    body = ("<html><head><title>%d %s</title></head>"
            "<body><h1>%s</h1>%s</body></html>") % (response.code, title,
                                                    title, message)

    response.headers.setHeader("content-type",
                               http_headers.MimeType('text', 'html'))
    response.stream = stream.MemoryStream(body)

    return response
Esempio n. 2
0
 def packageSuccess(self, result):
     headers, data = httputil.serialize(result)
     response = http.Response(200, stream=stream.MemoryStream(data))
     for k, v in headers.iteritems():
         response.headers.addRawHeader(k, v)
     response.headers.setHeader('content-type', http_headers.MimeType('text', 'plain'))
     return response
Esempio n. 3
0
 def packageFailure(self, f):
     f.cleanFailure()
     headers, data = httputil.serialize(f)
     response = http.Response(200, stream=stream.MemoryStream(data))
     for k, v in headers.iteritems():
         response.headers.addRawHeader(k, v)
     response.headers.setHeader('content-type', http_headers.MimeType('text', 'plain'))
     return response
Esempio n. 4
0
 def packageFailure(self, f):
     f.cleanFailure()
     print "Failing:\n" + f.getTraceback()
     data = simplejson.dumps(jsonifyFailure(f))
     response = http.Response(200, stream=stream.MemoryStream(data))
     response.headers.setHeader('content-type',
                                http_headers.MimeType('text', 'plain'))
     return response
Esempio n. 5
0
class HTTPNotebookBaseMethod(resource.Resource):
    def __init__(self, nbc):
        self.nbc = nbc
        log.msg("Creating child resource...")

    def locateChild(self, request, segments):
        return self, ()

    def renderHTTP(self, request):
        print request, request.args
        return http.Response(200, stream=stream.MemoryStream(repr(request)))

    def buildRequestSummary(self, request):
        reply = """host: %r
port: %r
path: %r
prepath: %r
postpath: %r
args: %r
method: %r
headers: %r
""" % (request.host, request.port, request.path, request.prepath,
        request.postpath, request.args, request.method, request.headers)
        return reply

    def packageSuccess(self, result, justme=False):
        print result
        try:
            if isinstance(result, type(None)):
                data = ""
            elif isinstance(result, list):
                data = simplejson.dumps({
                    'list':
                    [r.jsonify(keepdict=True, justme=justme) for r in result]
                })
            else:
                data = result.jsonify(justme=justme)
        except AttributeError, e:
            raise e
            # data = simplejson.dumps(result)
        response = http.Response(200, stream=stream.MemoryStream(data))
        response.headers.setHeader('content-type',
                                   http_headers.MimeType('text', 'plain'))
        return response
Esempio n. 6
0
 def renderHTTP(self, request):
     return http.Response(200, stream=stream.MemoryStream(repr(request)))
Esempio n. 7
0
def _sparse(nb):
    data = str(nb[0].sparse())
    response = http.Response(200, stream=stream.MemoryStream(data))
    response.headers.setHeader('content-type',
                               http_headers.MimeType('text', 'plain'))
    return response