Exemplo n.º 1
0
def test_headers():
    h = Headers(raw=[(b"a", b"123"), (b"a", b"456"), (b"b", b"789")])
    assert "a" in h
    assert "A" in h
    assert "b" in h
    assert "B" in h
    assert "c" not in h
    assert h["a"] == "123"
    assert h.get("a") == "123"
    assert h.get("nope", default=None) is None
    assert h.getlist("a") == ["123", "456"]
    assert h.keys() == ["a", "a", "b"]
    assert h.values() == ["123", "456", "789"]
    assert h.items() == [("a", "123"), ("a", "456"), ("b", "789")]
    assert list(h) == ["a", "a", "b"]
    assert dict(h) == {"a": "123", "b": "789"}
    assert repr(
        h) == "Headers(raw=[(b'a', b'123'), (b'a', b'456'), (b'b', b'789')])"
    assert h == Headers(raw=[(b"a", b"123"), (b"b", b"789"), (b"a", b"456")])
    assert h != [(b"a", b"123"), (b"A", b"456"), (b"b", b"789")]

    h = Headers({"a": "123", "b": "789"})
    assert h["A"] == "123"
    assert h["B"] == "789"
    assert h.raw == [(b"a", b"123"), (b"b", b"789")]
    assert repr(h) == "Headers({'a': '123', 'b': '789'})"
Exemplo n.º 2
0
 def __init__(self, headers: Headers):
     super().__init__(
         status_code=304,
         headers={
             name: value
             for name, value in headers.items()
             if name in self.NOT_MODIFIED_HEADERS
         },
     )
Exemplo n.º 3
0
    async def __call__(
        self,
        scope: Scope,
        receive: Receive,
        send: Send,
    ) -> ASGIApp:
        if scope["type"] == "http":
            request = Request(scope=scope, receive=receive)
            headers = Headers(scope=scope)

            debug(f"{request.method} {request.url}")

            debug("Params:")
            for name, value in request.path_params.items():
                debug(f"\t{name}: {value}")

            debug("Headers:")
            for name, value in headers.items():
                debug(f"\t{name}: {value}")

        return await self.app(scope=scope, receive=receive, send=send)
Exemplo n.º 4
0
 def _create_headers_dictionary(
         self, headers: Headers) -> Mapping[str, List[str]]:
     headers_dict: Mapping[str, List[str]] = defaultdict(list)
     for (key, value) in headers.items():
         headers_dict[key].append(value)
     return headers_dict