Beispiel #1
0
def user_group_id(request):
    resp = Response()
    client = AsyncWeChatClient(APPID, SECRET, timeout=10)
    try:
        group_id = yield from client.user.get_group_id(OPENID)
    except Exception as e:
        print(e)
        resp.body = str(e).encode('utf-8')
    else:
        resp.body = str(group_id).encode('utf-8')
    return resp
Beispiel #2
0
def user_info(request):
    resp = Response()
    client = AsyncWeChatClient(APPID, SECRET)
    try:
        user = yield from client.user.get(OPENID)
    except Exception as e:
        print(e)
        resp.body = str(e).encode('utf-8')
    else:
        resp.body = json.dumps(user).encode('utf-8')
    return resp
Beispiel #3
0
def user_info(request):
    resp = Response()
    client = AsyncWeChatClient(APPID, SECRET)
    try:
        user = yield from client.user.get(OPENID)
    except Exception as e:
        print(e)
        resp.body = str(e).encode('utf-8')
    else:
        resp.body = json.dumps(user).encode('utf-8')
    return resp
Beispiel #4
0
def user_group_id(request):
    resp = Response()
    client = AsyncWeChatClient(APPID, SECRET, timeout=10)
    try:
        group_id = yield from client.user.get_group_id(OPENID)
    except Exception as e:
        print(e)
        resp.body = str(e).encode('utf-8')
    else:
        resp.body = str(group_id).encode('utf-8')
    return resp
Beispiel #5
0
    def test_assign_nonbyteish_body(self):
        resp = Response(body=b'data')

        with self.assertRaises(TypeError):
            resp.body = 123
        self.assertEqual(b'data', resp.body)
        self.assertEqual(4, resp.content_length)
Beispiel #6
0
def test_assign_nonbyteish_body():
    resp = Response(body=b'data')

    with pytest.raises(TypeError):
        resp.body = 123
    assert b'data' == resp.body
    assert 4 == resp.content_length
    def test_assign_nonbyteish_body(self):
        resp = Response(body=b'data')

        with self.assertRaises(TypeError):
            resp.body = 123
        self.assertEqual(b'data', resp.body)
        self.assertEqual(4, resp.content_length)
Beispiel #8
0
def test_assign_nonbyteish_body():
    resp = Response(body=b'data')

    with pytest.raises(TypeError):
        resp.body = 123
    assert b'data' == resp.body
    assert 4 == resp.content_length
Beispiel #9
0
    def test_assign_nonbyteish_body(self):
        req = self.make_request('GET', '/')
        resp = Response(req, b'data')

        with self.assertRaises(TypeError):
            resp.body = 123
        self.assertEqual(b'data', resp.body)
        self.assertEqual(4, resp.content_length)
Beispiel #10
0
    def test_assign_nonbyteish_body(self):
        req = self.make_request('GET', '/')
        resp = Response(req, b'data')

        with self.assertRaises(TypeError):
            resp.body = 123
        self.assertEqual(b'data', resp.body)
        self.assertEqual(4, resp.content_length)
Beispiel #11
0
    def _make_response(cls, xml_response, status=200, reason=None):
        response = Response(status=status, reason=reason)
        response.headers["Content-Type"] = "text/xml; charset=utf-8"

        xml_data = cls._build_xml(xml_response)

        log.debug("Sending response:\n%s", xml_data)

        response.body = xml_data
        return response
async def transform_client_exception_to_json(request: web.Request,
                                             response: web.Response) -> None:
    if 400 <= response.status < 500:
        response.content_type = "application/json"

        try:
            json.loads(response.body)
        except json.JSONDecodeError:
            response.body = HTTPClientErrorSchema().dumps({
                "detail":
                response.body.decode("utf-8")
            }).encode("utf-8")
Beispiel #13
0
def test_assign_nonbyteish_body():
    resp = Response(body=b'data')

    with pytest.raises(AssertionError):
        resp.body = 123
    assert b'data' == resp.body
    assert 4 == resp.content_length

    resp._send_headers = mock.Mock()
    resp._start(mock.Mock())
    assert resp.headers['CONTENT-LENGTH'] == '4'
    assert 4 == resp.content_length
Beispiel #14
0
def test_assign_nonbyteish_body():
    resp = Response(body=b'data')

    with pytest.raises(ValueError):
        resp.body = 123
    assert b'data' == resp.body
    assert 4 == resp.content_length

    resp.headers['DATE'] = 'date'
    resp._start(mock.Mock(version=HttpVersion11))
    assert resp.headers['CONTENT-LENGTH'] == '4'
    assert 4 == resp.content_length
Beispiel #15
0
def test_assign_nonbyteish_body():
    resp = Response(body=b'data')

    with pytest.raises(ValueError):
        resp.body = 123
    assert b'data' == resp.body
    assert 4 == resp.content_length

    resp.headers['DATE'] = 'date'
    resp._start(mock.Mock(version=HttpVersion11))
    assert resp.headers['CONTENT-LENGTH'] == '4'
    assert 4 == resp.content_length
Beispiel #16
0
def test_assign_nonbyteish_body():
    resp = Response(body=b'data')

    with pytest.raises(AssertionError):
        resp.body = 123
    assert b'data' == resp.body
    assert 4 == resp.content_length

    resp._send_headers = mock.Mock()
    resp._start(mock.Mock())
    assert resp.headers['CONTENT-LENGTH'] == '4'
    assert 4 == resp.content_length
async def test_assign_nonbyteish_body() -> None:
    resp = Response(body=b"data")

    with pytest.raises(ValueError):
        resp.body = 123
    assert b"data" == resp.body
    assert 4 == resp.content_length

    resp.headers["DATE"] = "date"
    req = make_mocked_request("GET", "/", version=HttpVersion11)
    await resp._start(req)
    assert resp.headers["CONTENT-LENGTH"] == "4"
    assert 4 == resp.content_length
Beispiel #18
0
    async def get(self):
        try:
            registry = CollectorRegistry()
            multiprocess.MultiProcessCollector(registry)
            response = Response()
            response.body = generate_latest(registry)
            response.content_type = CONTENT_TYPE_LATEST
            return response

        except Exception as ex:
            logging.warning(str(ex))
            traceback.print_exc()
            raise web.HTTPBadRequest(body=json.dumps({'message': str(ex)}))
Beispiel #19
0
async def test_assign_nonbyteish_body() -> None:
    resp = Response(body=b'data')

    with pytest.raises(ValueError):
        resp.body = 123
    assert b'data' == resp.body
    assert 4 == resp.content_length

    resp.headers['DATE'] = 'date'
    req = make_mocked_request('GET', '/', version=HttpVersion11)
    await resp._start(req)
    assert resp.headers['CONTENT-LENGTH'] == '4'
    assert 4 == resp.content_length
Beispiel #20
0
async def test_assign_nonbyteish_body():
    resp = Response(body=b'data')

    with pytest.raises(ValueError):
        resp.body = 123
    assert b'data' == resp.body
    assert 4 == resp.content_length

    resp.headers['DATE'] = 'date'
    req = make_mocked_request('GET', '/', version=HttpVersion11)
    await resp._start(req)
    assert resp.headers['CONTENT-LENGTH'] == '4'
    assert 4 == resp.content_length
async def test_rm_content_length_if_compression_http11() -> None:
    writer = mock.Mock()

    async def write_headers(status_line, headers):
        assert hdrs.CONTENT_LENGTH not in headers
        assert headers.get(hdrs.TRANSFER_ENCODING, "") == "chunked"

    writer.write_headers.side_effect = write_headers
    req = make_request("GET", "/", writer=writer)
    payload = BytesPayload(b"answer", headers={"X-Test-Header": "test"})
    resp = Response(body=payload)
    assert resp.content_length == 6
    resp.body = payload
    resp.enable_compression(ContentCoding.gzip)
    await resp.prepare(req)
    assert resp.content_length is None
Beispiel #22
0
async def test_rm_content_length_if_compression_enabled_on_payload_http11():
    writer = mock.Mock()

    async def write_headers(status_line, headers):
        assert hdrs.CONTENT_LENGTH not in headers
        assert headers.get(hdrs.TRANSFER_ENCODING, '') == 'chunked'

    writer.write_headers.side_effect = write_headers
    req = make_request('GET', '/', writer=writer)
    payload = BytesPayload(b'answer', headers={"X-Test-Header": "test"})
    resp = Response(body=payload)
    assert resp.content_length == 6
    resp.body = payload
    resp.enable_compression(ContentCoding.gzip)
    await resp.prepare(req)
    assert resp.content_length is None
Beispiel #23
0
def test_remove_content_length_if_compression_enabled_on_payload_http11():
    writer = mock.Mock()

    def write_headers(status_line, headers):
        assert hdrs.CONTENT_LENGTH not in headers
        assert headers.get(hdrs.TRANSFER_ENCODING, '') == 'chunked'

    writer.write_headers.side_effect = write_headers
    req = make_request('GET', '/', payload_writer=writer)
    payload = BytesPayload(b'answer', headers={"X-Test-Header": "test"})
    resp = Response(body=payload)
    assert resp.content_length == 6
    resp.body = payload
    resp.enable_compression(ContentCoding.gzip)
    yield from resp.prepare(req)
    assert resp.content_length is None
Beispiel #24
0
async def change_body(request):
    resp = Response()
    resp.body = b"Body changed"
    resp.content_type = 'text/plain'
    return resp
Beispiel #25
0
async def change_body(request):
    resp = Response()
    resp.body = b"Body changed"
    resp.content_type = 'text/plain'
    return resp
Beispiel #26
0
def change_body(request):
    resp = Response(request)
    resp.body = b"Body changed"
    return resp
Beispiel #27
0
def change_body(request):
    resp = Response()
    resp.body = b"Body changed"
    return resp