Exemplo n.º 1
0
    def do_collect(self, stream, request):
        ''' Invoked on GET /speedtest/collect '''
        stream.response_rewriter = self._rewrite_response
        request.uri = '/collect/speedtest'

        xmlreq = marshal.unmarshal_object(request.body.read(),
           'application/xml', SpeedtestCollect)
        message = {
            'uuid': xmlreq.client,
            'timestamp': int(float(xmlreq.timestamp)),  # old clients bug
            'internal_address': xmlreq.internalAddress,
            'real_address': xmlreq.realAddress,
            'remote_address': xmlreq.remoteAddress,
            'connect_time': xmlreq.connectTime,
            'latency': xmlreq.latency,
            'download_speed': xmlreq.downloadSpeed,
            'upload_speed': xmlreq.uploadSpeed,
            'privacy_informed': xmlreq.privacy_informed,
            'privacy_can_collect': xmlreq.privacy_can_collect,
            'privacy_can_share': xmlreq.privacy_can_share,
            'platform': xmlreq.platform,
            'neubot_version': xmlreq.neubot_version,
        }
        # XXX Here we don't rewrite content-length which becomes bogus
        request['content-type'] = 'application/json'
        request.body = StringIO.StringIO(json.dumps(message))

        NEGOTIATE_SERVER.process_request(stream, request)
Exemplo n.º 2
0
 def do_negotiate(self, stream, request):
     ''' Invoked on GET /speedtest/negotiate '''
     stream.response_rewriter = self._rewrite_response
     #
     # Use POST because the semantic is that the body has no
     # meaning, when the request method is GET.
     #
     request.method = 'POST'
     request.uri = '/negotiate/speedtest'
     request.body = StringIO.StringIO('{}')
     NEGOTIATE_SERVER.process_request(stream, request)
Exemplo n.º 3
0
 def do_negotiate(self, stream, request):
     ''' Invoked on GET /speedtest/negotiate '''
     stream.response_rewriter = self._rewrite_response
     request.uri = '/negotiate/speedtest'
     request.body = StringIO.StringIO('{}')
     NEGOTIATE_SERVER.process_request(stream, request)