MCPcopy
hub / github.com/aio-libs/aiohttp / _start

Method _start

aiohttp/web_reqrep.py:698–733  ·  view source on GitHub ↗
(self, request)

Source from the content-addressed store, hash-verified

696 return self._start(request)
697
698 def _start(self, request):
699 self._req = request
700 keep_alive = self._keep_alive
701 if keep_alive is None:
702 keep_alive = request.keep_alive
703 self._keep_alive = keep_alive
704
705 resp_impl = self._resp_impl = ResponseImpl(
706 request._writer,
707 self._status,
708 request.version,
709 not keep_alive,
710 self._reason)
711
712 self._copy_cookies()
713
714 if self._compression:
715 self._start_compression(request)
716
717 if self._chunked:
718 if request.version != HttpVersion11:
719 raise RuntimeError("Using chunked encoding is forbidden "
720 "for HTTP/{0.major}.{0.minor}".format(
721 request.version))
722 resp_impl.enable_chunked_encoding()
723 if self._chunk_size:
724 resp_impl.add_chunking_filter(self._chunk_size)
725
726 headers = self.headers.items()
727 for key, val in headers:
728 resp_impl.add_header(key, val)
729
730 resp_impl.transport.set_tcp_nodelay(self._tcp_nodelay)
731 resp_impl.transport.set_tcp_cork(self._tcp_cork)
732 resp_impl.send_headers()
733 return resp_impl
734
735 def write(self, data):
736 assert isinstance(data, (bytes, bytearray, memoryview)), \

Callers 2

startMethod · 0.95
prepareMethod · 0.95

Calls 8

_copy_cookiesMethod · 0.95
_start_compressionMethod · 0.95
add_chunking_filterMethod · 0.80
add_headerMethod · 0.80
send_headersMethod · 0.80
set_tcp_nodelayMethod · 0.45
set_tcp_corkMethod · 0.45

Tested by

no test coverage detected