def SendStreamingRequest(self, handler_name, args): self._InitializeIfNeeded() method_descriptor = self.api_methods[handler_name] request = self.BuildRequest(method_descriptor.name, args) prepped_request = request.prepare() session = requests.Session() session.trust_env = self.trust_env options = session.merge_environment_settings(prepped_request.url, self.proxies or {}, None, self.verify, self.cert) options["stream"] = True response = session.send(prepped_request, **options) self._CheckResponseStatus(response) def GenerateChunks(): for chunk in response.iter_content(self.DEFAULT_BINARY_CHUNK_SIZE): yield chunk def Close(): response.close() session.close() return utils.BinaryChunkIterator(chunks=GenerateChunks(), on_close=Close)
def SendStreamingRequest( self, handler_name: str, args: message.Message, ) -> utils.BinaryChunkIterator: self._InitializeIfNeeded() method_descriptor = self.api_methods[handler_name] request = self.BuildRequest(method_descriptor.name, args) prepped_request = request.prepare() session = requests.Session() session.trust_env = self.trust_env options = session.merge_environment_settings(prepped_request.url, self.proxies or {}, None, self.verify, self.cert) options["stream"] = True response = session.send(prepped_request, **options) self._CheckResponseStatus(response) def GenerateChunks() -> Iterator[bytes]: with contextlib.closing(session): # pytype: disable=wrong-arg-types with contextlib.closing(response): for chunk in response.iter_content( self.DEFAULT_BINARY_CHUNK_SIZE): yield chunk return utils.BinaryChunkIterator(chunks=GenerateChunks())
def SendStreamingRequest( self, handler_name: str, args: message.Message, ) -> utils.BinaryChunkIterator: binary_stream = self._CallMethod(handler_name, args) return utils.BinaryChunkIterator( chunks=binary_stream.content_generator)
def SendStreamingRequest(self, handler_name, args): self._InitializeIfNeeded() method_descriptor = self.api_methods[handler_name] request = self.BuildRequest(method_descriptor.name, args) prepped_request = request.prepare() session = requests.Session() response = session.send(prepped_request, stream=True) self._CheckResponseStatus(response) def GenerateChunks(): for chunk in response.iter_content(self.DEFAULT_BINARY_CHUNK_SIZE): yield chunk return utils.BinaryChunkIterator(chunks=GenerateChunks(), on_close=response.close)
def SendStreamingRequest(self, method_name, args): binary_stream = self._CallMethod(method_name, args) return utils.BinaryChunkIterator( chunks=binary_stream.content_generator)