1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-15 08:04:49 +01:00

urlrewrite: improve POST request support for ikreymer/pywb#178

This commit is contained in:
Ilya Kreymer 2016-05-06 16:32:13 -07:00
parent ab3af90df2
commit e64ae780c6
2 changed files with 9 additions and 5 deletions

View File

@ -1,6 +1,6 @@
import requests
from pywb.rewrite.rewrite_content import RewriteContent
from pywb.rewrite.rewrite_content import RewriteContentAMF
from pywb.rewrite.wburl import WbUrl
from pywb.rewrite.url_rewriter import UrlRewriter
@ -42,7 +42,7 @@ class RewriterApp(object):
frame_type = 'inverse' if framed_replay else False
self.content_rewriter = RewriteContent(is_framed_replay=frame_type)
self.content_rewriter = RewriteContentAMF(is_framed_replay=frame_type)
if not jinja_env:
jinja_env = JinjaEnv(globals={'static_path': 'static/__pywb'})
@ -101,6 +101,8 @@ class RewriterApp(object):
inputreq = RewriteInputRequest(environ, urlkey, url,
self.content_rewriter)
inputreq.include_post_query(url)
mod_url = None
use_206 = False
rangeres = None
@ -203,7 +205,8 @@ class RewriterApp(object):
head_insert_func,
urlkey,
cdx,
cookie_rewriter)
cookie_rewriter,
environ)
status_headers, gen, is_rw = result

View File

@ -68,14 +68,15 @@ class DirectWSGIInputRequest(object):
return url
mime = self._get_content_type()
mime = mime.split(';')[0] if mime else ''
#mime = mime.split(';')[0] if mime else ''
length = self._get_content_length()
stream = self.env['wsgi.input']
buffered_stream = BytesIO()
post_query = extract_post_query('POST', mime, length, stream,
buffered_stream=buffered_stream)
buffered_stream=buffered_stream,
environ=self.env)
if post_query:
self.env['wsgi.input'] = buffered_stream