本文整理汇总了Python中twisted.web.proxy.ProxyClient.handleResponseEnd方法的典型用法代码示例。如果您正苦于以下问题:Python ProxyClient.handleResponseEnd方法的具体用法?Python ProxyClient.handleResponseEnd怎么用?Python ProxyClient.handleResponseEnd使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类twisted.web.proxy.ProxyClient
的用法示例。
在下文中一共展示了ProxyClient.handleResponseEnd方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: handleResponseEnd
# 需要导入模块: from twisted.web.proxy import ProxyClient [as 别名]
# 或者: from twisted.web.proxy.ProxyClient import handleResponseEnd [as 别名]
def handleResponseEnd(self):
if self.image_parser:
print "imageparsing ", compress_rate
try:
image = self.image_parser.close()
except IOError as (error):
print "I/O error: ", error
print self.image_parser
try:
# do the compression
format = image.format
newsize = int(image.size[0] * compress_rate) , int(image.size[1] * compress_rate)
image.thumbnail(newsize) # likely, image sizing like this does not work
s = StringIO()
image.save(s, format)
buffer = s.getvalue()
except NameError as (error):
print "in exception: ", error
# send Original C-length if just queryed for header
buffer = " " *(int(self.clength))
print "Header: Content-Lengths ", len(buffer)
ProxyClient.handleHeader(self, "Content-Length", len(buffer))
# all headers received and processed
ProxyClient.handleEndHeaders(self)
ProxyClient.handleResponsePart(self, buffer)
ProxyClient.handleResponseEnd(self)
示例2: handleResponseEnd
# 需要导入模块: from twisted.web.proxy import ProxyClient [as 别名]
# 或者: from twisted.web.proxy.ProxyClient import handleResponseEnd [as 别名]
def handleResponseEnd(self):
log.msg("handleResponseEnd")
if self.rewrite:
banner2 = banner % dict(
height = self.config['height'],
bannerurl = self.config['bannerurl'],
)
buffer = self.buffer.replace("</head>", banner2)
ProxyClient.handleHeader(self, "Content-Length", str(len(buffer)))
ProxyClient.handleEndHeaders(self)
ProxyClient.handleResponsePart(self, buffer)
self.rewrite = False
ProxyClient.handleResponseEnd(self)
示例3: handleResponseEnd
# 需要导入模块: from twisted.web.proxy import ProxyClient [as 别名]
# 或者: from twisted.web.proxy.ProxyClient import handleResponseEnd [as 别名]
def handleResponseEnd(self):
if self.image_parser:
image = self.image_parser.close()
try:
format = image.format
image = image.rotate(180)
s = StringIO()
image.save(s, format)
buffer = s.getvalue()
except:
buffer = ""
ProxyClient.handleHeader(self, "Content-Length", len(buffer))
ProxyClient.handleEndHeaders(self)
ProxyClient.handleResponsePart(self, buffer)
ProxyClient.handleResponseEnd(self)
示例4: handleResponseEnd
# 需要导入模块: from twisted.web.proxy import ProxyClient [as 别名]
# 或者: from twisted.web.proxy.ProxyClient import handleResponseEnd [as 别名]
def handleResponseEnd(self):
if self.replacing is not None:
try:
buffer = open(self.replacing).read()
except:
buffer = ""
ProxyClient.handleHeader(self, "Content-Length", len(buffer))
ProxyClient.handleEndHeaders(self)
ProxyClient.handleResponsePart(self, buffer)
elif self.rewriting:
buffer = self._buf.replace('"id": "BIRD_RED"', '"id": "BIRD_BLACK"')
ProxyClient.handleHeader(self, "Content-Length", len(buffer))
ProxyClient.handleEndHeaders(self)
ProxyClient.handleResponsePart(self, buffer)
ProxyClient.handleResponseEnd(self)
示例5: _forward_response
# 需要导入模块: from twisted.web.proxy import ProxyClient [as 别名]
# 或者: from twisted.web.proxy.ProxyClient import handleResponseEnd [as 别名]
def _forward_response(self, response):
content = self.father.response_content
if not response.drop_connection and not response.reset_connection:
# fix this... odd that it must exist
if not self._finished:
ProxyClient.handleResponsePart(self, content)
ProxyClient.handleResponseEnd(self)
log.msg("Response forwarded: " + str(response))
else:
if response.drop_connection:
ProxyClient.handleResponsePart(self, content)
ProxyClient.handleResponseEnd(self)
response.transport.loseConnection()
log.msg("Connection dropped")
else:
response.transport.abortConnection()
log.msg("Connection reset")
示例6: handleResponseEnd
# 需要导入模块: from twisted.web.proxy import ProxyClient [as 别名]
# 或者: from twisted.web.proxy.ProxyClient import handleResponseEnd [as 别名]
def handleResponseEnd(self):
if self.needsRewrite():
log.msg("Rewriting " + self.father.uri)
# We might have increased or decreased the page size. Since we have not written
# to the client yet, we can still modify the headers.
self.rewriteResponse()
self.header_buffer["content-length"] = len(self.buffer)
for key in self.header_buffer.keys():
ProxyClient.handleHeader(self, key, self.header_buffer[key])
ProxyClient.handleEndHeaders(self)
ProxyClient.handleResponsePart(self, self.buffer)
self.buffer = ""
self.header_buffer = {}
ProxyClient.handleResponseEnd(self)
示例7: handleResponseEnd
# 需要导入模块: from twisted.web.proxy import ProxyClient [as 别名]
# 或者: from twisted.web.proxy.ProxyClient import handleResponseEnd [as 别名]
def handleResponseEnd(self):
url = self.father.uri
if self.gziped == True:
temp = StringIO.StringIO(self.buf)
s = gzip.GzipFile(fileobj=temp)
content = s.read()
else:
content = self.buf
if needModifyDetailApi(url):
content = modifyDetailApi(content)
elif needModifyPlayerApi(url):
content = modifyPlayerApi(content)
elif needModifyDownloadApi(url):
content = modifyDownloadApi(content)
if self.buf != "":
if self.gziped == True:
ProxyClient.handleResponsePart(self, compress(content))
else:
ProxyClient.handleResponsePart(self, content)
ProxyClient.handleResponseEnd(self)
示例8: len
# 需要导入模块: from twisted.web.proxy import ProxyClient [as 别名]
# 或者: from twisted.web.proxy.ProxyClient import handleResponseEnd [as 别名]
gzipper.write(self._buffer)
gzipper.close()
self._buffer = newbuffer.getvalue()
self.headers_to_cache["Content-Encoding"]="gzip"
ProxyClient.handleHeader(self,"Content-Encoding","gzip")
self.headers_to_cache["Content-Length"]=len(self._buffer)
ProxyClient.handleHeader(self, "Content-Length", len(self._buffer))
ProxyClient.handleResponsePart(self,self._buffer)
else:
if self.encoding:
self.headers_to_cache["Content-Encoding"]=self.encoding
ProxyClient.handleHeader(self,"Content-Encoding",self.encoding)
ProxyClient.handleEndHeaders(self)
if len(self._buffer):
self.factory.cache.set(self.factory.key,(self.headers_to_cache,self._buffer))
ProxyClient.handleResponseEnd(self)
class MyProxyClientFactory(ProxyClientFactory):
protocol = MyProxyClient
def __init__(self, *args, **kwargs):
self.host = ''
self.realhost = ''
self.rp = None
self.cache = None
self.key = None
ProxyClientFactory.__init__(self,*args,**kwargs)
def buildProtocol(self, addr):
p = self.protocol(self.command, self.rest, self.version,
self.headers, self.data, self.father)
p.factory = self
示例9: handleResponseEnd
# 需要导入模块: from twisted.web.proxy import ProxyClient [as 别名]
# 或者: from twisted.web.proxy.ProxyClient import handleResponseEnd [as 别名]
def handleResponseEnd(self):
if not self._finished:
self.father.responseHeaders.setRawHeaders("client", ["location"])
ProxyClient.handleResponseEnd(self)