def send(self, writer, reader): writer.set_tcp_cork(True) request = aiohttp.Request(writer, self.method, self.path, self.version) if self.compress: request.add_compression_filter(self.compress) if self.chunked is not None: request.enable_chunked_encoding() request.add_chunking_filter(self.chunked) # set default content-type if (self.method in self.POST_METHODS and hdrs.CONTENT_TYPE not in self.skip_auto_headers and hdrs.CONTENT_TYPE not in self.headers): self.headers[hdrs.CONTENT_TYPE] = 'application/octet-stream' for k, value in self.headers.items(): request.add_header(k, value) request.send_headers() self._writer = helpers.ensure_future(self.write_bytes(request, reader), loop=self.loop) self.response = self.response_class(self.method, self.url, self.host, writer=self._writer, continue100=self._continue, timeout=self._timeout) self.response._post_init(self.loop) return self.response
def send(self, writer, reader): request = aiohttp.Request(writer, self.method, self.path, self.version) if self.compress: request.add_compression_filter(self.compress) if self.chunked is not None: request.enable_chunked_encoding() request.add_chunking_filter(self.chunked) # set default content-type if (self.method in self.POST_METHODS and hdrs.CONTENT_TYPE not in self.headers): self.headers[hdrs.CONTENT_TYPE] = 'application/octet-stream' request.add_headers( *((k, v) for k, v in ((k, value) for k, value in self.headers.items()))) request.send_headers() self._writer = asyncio. async (self.write_bytes(request, reader), loop=self.loop) self.response = self.response_class(self.method, self.url, self.host, writer=self._writer, continue100=self._continue) self.response._post_init(self.loop) return self.response
def send(self, transport): request = aiohttp.Request( transport, self.method, self.path, self.version) if self.compress: request.add_compression_filter(self.compress) if self.chunked is not None: request.add_chunking_filter(self.chunked) request.add_headers(*self.headers.items()) request.send_headers() is_stream = inspect.isgenerator(self.body) if is_stream or self._continue is not None: self._writer = asyncio.async( self.write_bytes(request, is_stream), loop=self.loop) else: if isinstance(self.body, bytes): self.body = (self.body,) for chunk in self.body: request.write(chunk) request.write_eof() self.response = HttpResponse( self.method, self.path, self.host, writer=self._writer, continue100=self._continue) return self.response
def send(self, conn): # Specify request target: # - CONNECT request must send authority form URI # - not CONNECT proxy must send absolute form URI # - most common is origin form URI if self.method == hdrs.METH_CONNECT: path = '{}:{}'.format(self.url.raw_host, self.url.port) elif self.proxy and not self.ssl: path = str(self.url) else: path = self.url.raw_path if self.url.raw_query_string: path += '?' + self.url.raw_query_string request = aiohttp.Request(conn.writer, self.method, path, self.version, loop=self.loop) if self.compress: request.enable_compression(self.compress) if self.chunked is not None: request.enable_chunking() # set default content-type if (self.method in self.POST_METHODS and hdrs.CONTENT_TYPE not in self.skip_auto_headers and hdrs.CONTENT_TYPE not in self.headers): self.headers[hdrs.CONTENT_TYPE] = 'application/octet-stream' for k, value in self.headers.items(): request.add_header(k, value) request.send_headers() self._writer = helpers.ensure_future(self.write_bytes(request, conn), loop=self.loop) self.response = self.response_class(self.method, self.original_url, writer=self._writer, continue100=self._continue, timer=self._timer) self.response._post_init(self.loop) return self.response
def send(self, writer, reader): request = aiohttp.Request(writer, self.method, self.path, self.version) if self.compress: request.add_compression_filter(self.compress) if self.chunked is not None: request.add_chunking_filter(self.chunked) request.add_headers(*self.headers.items()) request.send_headers() self._writer = asyncio.async( self.write_bytes(request, reader), loop=self.loop) self.response = HttpResponse( self.method, self.path, self.host, writer=self._writer, continue100=self._continue) return self.response
def send(self, writer, reader): request = aiohttp.Request(writer, self.method, self.path, self.version) if self.compress: request.add_compression_filter(self.compress) if self.chunked is not None: request.add_chunking_filter(self.chunked) request.add_headers( *((k, v) for k, v in ((k, value) for k, value in self.headers.items(getall=True)))) request.send_headers() self._writer = asyncio.async( self.write_bytes(request, reader), loop=self.loop) self.response = self.response_class( self.method, self.url, self.host, writer=self._writer, continue100=self._continue) return self.response