Ejemplo n.º 1
0
    def action_get(request):
        keys = ['url', 'target', 'method', 'scheme', 'port']
        kwargs = {k: request[k] for k in keys if k in request}
        response = http.request(**kwargs)

        if request.get('json', False):
            response_message = {
                'status': response.status,
                'reason': response.reason
            }
            if request.get('headers', True):
                response_message['headers'] = {
                    k: v
                    for (k, v) in response.getheaders()
                }
            if request.get('raw', False):
                response_message['raw'] = response.read(raw=True)
            elif request.get('body', True):
                response_message['body'] = response.read()
            return response_message
        else:
            if request.get('raw', False):
                return response.get_raw(), ResponseOptions(send_json=False)
            else:
                return response.body, ResponseOptions(send_json=False)
Ejemplo n.º 2
0
    def _request(self, path):
        response = request(os.path.join(self.server_url, path))
        if response.status == 404:
            return None
        elif response.status != 200:
            raise BootstrapSourceError('Remote bootstrapper request failed: %d' % response.status)

        try:
            return json.loads(response.read())
        except ValueError:
            raise BootstrapSourceError('Invalid JSON response from remote bootstrap server')
Ejemplo n.º 3
0
    def _request(self, path):
        response = request(os.path.join(self.server_url, path))
        if response.status == 404:
            return None
        elif response.status != 200:
            raise BootstrapSourceError(
                'Remote bootstrapper request failed: %d' % response.status)

        try:
            return json.loads(response.read())
        except ValueError:
            raise BootstrapSourceError(
                'Invalid JSON response from remote bootstrap server')
Ejemplo n.º 4
0
    def _start_remote(self):
        http_request = self.request_builder.http_request

        url = http_request.path
        parsed_url = urlparse.urlparse(url)
        try:
            host = Host.get(Host.hostname==parsed_url.hostname)
            if host.uses_ssl:
                url = url.replace('http', 'https')
            self.cachebrowsed = True
        except Host.DoesNotExist:
            pass

        logger.info("[%s] %s %s" % (http_request.method, url, '<CACHEBROWSED>' if self.cachebrowsed else ''))
        request = http_request.get_raw()
        # request = re.sub(r'^(GET|POST|PUT|DELETE|HEAD) http[s]?://[^/]+/(.+) (\w+)', r'\1 /\2 \3', request)
        response = http.request(url, raw_request=request)

        self._connection.start_remote(response)
Ejemplo n.º 5
0
    def _start_remote(self):
        http_request = self.request_builder.http_request

        url = http_request.path
        parsed_url = urlparse.urlparse(url)
        try:
            host = Host.get(url=parsed_url.hostname)
            if host.ssl:
                url = url.replace('http', 'https')
            self.cachebrowsed = True
        except Host.DoesNotExist:
            pass

        logging.info("[%s] %s %s" % (http_request.method, url, '<CACHEBROWSED>' if self.cachebrowsed else ''))
        request = http_request.get_raw()
        # request = re.sub(r'^(GET|POST|PUT|DELETE|HEAD) http[s]?://[^/]+/(.+) (\w+)', r'\1 /\2 \3', request)
        response = http.request(url, raw_request=request)

        self._connection.start_remote(response)
Ejemplo n.º 6
0
    def action_get(request):
        keys = ['url', 'target', 'method', 'scheme', 'port']
        kwargs = {k: request[k] for k in keys if k in request}
        response = http.request(**kwargs)

        if request.get('json', False):
            response_message = {
                'status': response.status,
                'reason': response.reason
            }
            if request.get('headers', True):
                response_message['headers'] = {k: v for (k, v) in response.getheaders()}
            if request.get('raw', False):
                response_message['raw'] = response.read(raw=True)
            elif request.get('body', True):
                response_message['body'] = response.read()
            return response_message
        else:
            if request.get('raw', False):
                return response.get_raw(), ResponseOptions(send_json=False)
            else:
                return response.body, ResponseOptions(send_json=False)
Ejemplo n.º 7
0
 def make_request(self, url, target=None, *args):
     """
     Make a http request using CacheBrowser
     """
     response = http.request(url, target=target)
     self.send_line(response.read())
Ejemplo n.º 8
0
 def make_request(self, url, target=None, *args):
     """
     Make a http request using CacheBrowser
     """
     response = http.request(url, target=target)
     self.send_line(response.read())