在重定向之前,Google App Engine处理程序(Python - Webapp2)中是否有任何方法可以修改请求参数?
我实际上对更改已发布文件(multipart_encode)的竞争感兴趣。
例如:
class AnHandler(webapp2.RequestHandler):
def post(self):
inFile = self.request.POST.multi['file'].file
outFile = StringIO.StringIO()
encrypt(inFile,outFile)
upload_url = 'https://someurl'
#now I need to switch inFile with outfile in self.request
self.redirect(uri=upload_url,code=307)
随意提出任何替代方法,但考虑到GAE目前无法提供请求库
答案 0 :(得分:2)
所以,当你说redirect
时,我正在读作:
您希望将修改后的请求转发给其他端点或服务器。您实际上并没有想要重定向用户。
我不确定你是否能做出问题所在的问题。当服务器发回重定向时,它指定一个Location
标头,客户端随后转到该标头。你绝对可以告诉客户端转到另一个URI,但我认为你不能修改它的请求并告诉它使用新的请求。
为什么不保持简单并使用像requests
之类的模块将修改后的请求发送到另一个端点,然后将该请求的响应返回给客户端?
随意提出任何替代方法,但考虑到GAE目前无法提供请求库
除了修改问题之外,您应该评论我的答案。编辑问题时,我不会收到通知。
话虽如此,请随意使用urllib
或urllib3
代替requests
。这个想法仍然是一样的,只是一个不同的图书馆。