예제 #1
0
파일: handler.py 프로젝트: srittau/rouver
    def respond_with_content(
        self,
        content: bytes,
        *,
        status: HTTPStatus = HTTPStatus.OK,
        content_type: str = "application/octet-stream",
        extra_headers: Sequence[Header] = [],
    ) -> Iterable[bytes]:
        """Prepare an WSGI response.

        >>> def handler(start_response, request):
        ...     return respond_with_content(start_response, b"content")

        The response will include a Content-Type and a Content-Length header.
        """
        return respond_with_content(
            self.start_response,
            content,
            status=status,
            content_type=content_type,
            extra_headers=extra_headers,
        )
예제 #2
0
파일: response.py 프로젝트: srittau/rouver
 def custom_content_type(self) -> None:
     sr = StubStartResponse()
     respond_with_content(sr, b"", content_type="text/plain")
     sr.assert_header_equals("Content-Type", "text/plain")
예제 #3
0
파일: response.py 프로젝트: srittau/rouver
 def default_content_type(self) -> None:
     sr = StubStartResponse()
     respond_with_content(sr, b"")
     sr.assert_header_equals("Content-Type", "application/octet-stream")
예제 #4
0
파일: response.py 프로젝트: srittau/rouver
 def custom_status(self) -> None:
     sr = StubStartResponse()
     respond_with_content(sr, b"", status=HTTPStatus.NOT_ACCEPTABLE)
     sr.assert_status(HTTPStatus.NOT_ACCEPTABLE)
예제 #5
0
파일: response.py 프로젝트: srittau/rouver
 def default_status(self) -> None:
     sr = StubStartResponse()
     respond_with_content(sr, b"")
     sr.assert_status(HTTPStatus.OK)
예제 #6
0
파일: response.py 프로젝트: srittau/rouver
 def return_value(self) -> None:
     sr = StubStartResponse()
     response = respond_with_content(sr, b"foobar")
     assert_equal(b"foobar", b"".join(response))
예제 #7
0
파일: response.py 프로젝트: srittau/rouver
 def extra_headers(self) -> None:
     sr = StubStartResponse()
     respond_with_content(sr,
                          b"",
                          extra_headers=[("X-Custom-Header", "Foobar")])
     sr.assert_header_equals("X-Custom-Header", "Foobar")
예제 #8
0
파일: response.py 프로젝트: srittau/rouver
 def content_length(self) -> None:
     sr = StubStartResponse()
     respond_with_content(sr, b"foobar")
     sr.assert_header_equals("Content-Length", "6")