コード例 #1
0
ファイル: cassette.py プロジェクト: pombredanne/betamax
def deserialize_prepared_request(serialized):
    p = PreparedRequest()
    p.body = serialized['body']
    p.headers = CaseInsensitiveDict(serialized['headers'])
    p.method = serialized['method']
    p.url = serialized['uri']
    return p
コード例 #2
0
def copy_request(request):
    """Copy a Requests PreparedRequest."""
    new_request = PreparedRequest()

    new_request.method = request.method
    new_request.url = request.url
    new_request.body = request.body
    new_request.hooks = request.hooks
    new_request.headers = request.headers.copy()

    return new_request
コード例 #3
0
def copy_request(request):
    """Copy a Requests PreparedRequest."""
    new_request = PreparedRequest()

    new_request.method = request.method
    new_request.url = request.url
    new_request.body = request.body
    new_request.hooks = request.hooks
    new_request.headers = request.headers.copy()

    return new_request
コード例 #4
0
 def _prepare_body(self, data, files=None):
     """创建post需要的body数据
     :param data: post 参数
     :type data: dict(post_param=value)
     :param: files: post 文件流数据
     :type: files: dict(filename=file_object)
     """
     _prepare = PreparedRequest()
     _prepare.headers = {}
     _prepare.prepare_body(data=data, files=files)
     data.update(files)
     return urlencode(data)
コード例 #5
0
ファイル: util.py プロジェクト: salvopr/betamax
def deserialize_prepared_request(serialized):
    p = PreparedRequest()
    p._cookies = RequestsCookieJar()
    body = serialized['body']
    if isinstance(body, dict):
        original_body = body.get('string')
        p.body = original_body or base64.b64decode(
            body.get('base64_string', '').encode())
    else:
        p.body = body
    h = [(k, from_list(v)) for k, v in serialized['headers'].items()]
    p.headers = CaseInsensitiveDict(h)
    p.method = serialized['method']
    p.url = serialized['uri']
    return p
コード例 #6
0
ファイル: util.py プロジェクト: bboe/betamax
def deserialize_prepared_request(serialized):
    p = PreparedRequest()
    p._cookies = RequestsCookieJar()
    body = serialized['body']
    if isinstance(body, dict):
        original_body = body.get('string')
        p.body = original_body or base64.b64decode(
            body.get('base64_string', '').encode())
    else:
        p.body = body
    h = [(k, from_list(v)) for k, v in serialized['headers'].items()]
    p.headers = CaseInsensitiveDict(h)
    p.method = serialized['method']
    p.url = serialized['uri']
    return p
コード例 #7
0
    def test_request_context(
            self,
            path: str = '/',
            method: str = 'GET',
            *,
            scheme: str = 'http',
            headers: Union[dict, CIMultiDict] = None,
            data: Union[AnyStr, dict] = None) -> RequestContext:
        headers, path, query_string = make_test_headers_path_and_query_string(
            self, path, headers=headers)

        if headers and headers.get('Content-Type', None) == 'application/json':
            body_data = dumps(data).encode() if data else b''
        elif data:
            if isinstance(data, str):
                headers.setdefault('Content-Type',
                                   'application/x-www-form-urlencoded')
                body_data = data.encode()
            else:
                form = {}
                files = {}
                for key, value in data.items():
                    if isinstance(value, (list, tuple)):
                        files[key] = value
                    else:
                        form[key] = value
                prep = PreparedRequest()
                prep.headers = {}
                prep.prepare_body(data=form or None, files=files)
                body_data = prep.body
                headers.update(prep.headers)
        else:
            body_data = b''

        request = self.request_class(method, scheme, path, query_string,
                                     headers)
        request.body.set_result(body_data)
        return self.request_context(request)
コード例 #8
0
import tornado
import tornado.httpclient as httpclient

asyncHTTPClient = httpclient.AsyncHTTPClient()
c = 0
file = 'test.jpg'
files = [
    ('image', ('%d' % c, open(file, 'rb'), 'image/jpg')),
]
data = {
    'filename': 'test',
}


def on_response(response):
    pass


if __name__ == "__main__":
    IP = '106.14.70.249'
    url = 'http://%s:9331/api/image_save' % IP
    prepared_request = PreparedRequest()
    prepared_request.method = 'post'
    prepared_request.headers = {}
    prepared_request.prepare_body(data, files)
    request = tornado.httpclient.HTTPRequest(url=url, headers=prepared_request.headers,
                                             method='POST', body=prepared_request.body)
    asyncHTTPClient.fetch(request, on_response)

    tornado.ioloop.IOLoop.instance().start()  # start the tornado ioloop to
コード例 #9
0
ファイル: auth.py プロジェクト: RuneHistory/pyrunehistory
 def __call__(self, r: PreparedRequest):
     if not isinstance(r.headers, Mapping):
         r.headers = {}
     r.headers.update({'Authorization': 'Bearer {}'.format(self.token)})
     return r