1
0
mirror of https://github.com/webrecorder/pywb.git synced 2025-03-22 22:32:19 +01:00

321 Commits

Author SHA1 Message Date
Ilya Kreymer
a0878e6998 tests: fix regex for 2.6, fix live example 2015-10-07 11:59:31 -07:00
Ilya Kreymer
c3aab1514c query/cdx: support from and to cdx query arguments, support ranged calendar query,
eg. /[from]*[to]/[url] or /[from]-[to]/[url], with both from and to optional, closes #130
exposes lower and upper bound timestamps in timeutils, pad_timestamp
2015-10-07 10:44:12 -07:00
Ilya Kreymer
78ba91ff63 rewrite: fixes for attr override, add test for 'integrity' override 2015-10-05 23:26:47 -07:00
Ilya Kreymer
9a19265786 rewrite: disable 'integrity' (as well as crossorigin) attr due to rewriting, which modifies the resource 2015-10-05 23:04:56 -07:00
Ilya Kreymer
cb67c172ed rewrite: html rewriter can accept optional url for initial base url of page 2015-10-02 14:01:33 -07:00
Ilya Kreymer
e9c4c2d4db rewrite: add an explicit <base> if trailing slash missing after host. Ensure when existing <base> is rewritten,
a trailing slash is added (before query or anchor) closes #129
2015-09-14 19:22:49 -07:00
Ilya Kreymer
eb2162a477 rewrite: attr unescape attr entities only if url starts with 'http', use unescaped if any exceptions escaping 2015-09-10 16:03:00 -07:00
Ilya Kreymer
8aa3ea7d3d rewrite: rewrite long-deprecated "background" element in all elems 2015-09-03 15:32:07 -07:00
Ilya Kreymer
a4d10ca562 rewrite: ensure entity-encoded urls in attrs are decoded before url rewriting 2015-09-02 05:13:56 -07:00
Ilya Kreymer
3ef5d98bc6 bump to 0.10.7-dev
wombat: use Document.prototpe for cookie getter and setter if not found on
document object, add no-op setter for document.domain
tests: fix test to avoid including line ending
2015-08-09 09:25:02 -07:00
Ilya Kreymer
2b3dbd12e2 rewrite cookie test: disable secure and httponly test as 2.6 doesn't handle these! 2015-08-07 19:36:07 -07:00
Ilya Kreymer
b532056c6e cookie_rewriter: ensure cookie paths are always relative
cookie_rewriter tests: add cookie rewriter tests for secure, httponly
html_rewriter tests: add <base> rel and abs rewrite tests
no cover for waitress as its not used by default
2015-08-07 19:36:07 -07:00
Ilya Kreymer
6bf6a02868 tests: add explicit 'js_rewrite_location: all' rule for testing all-rewrite (as not default anymore) 2015-08-07 12:02:48 -07:00
Ilya Kreymer
a3c8698cc3 rewrite: disable server-side url rewriting in JS by default! now handled by client-side rewriting 2015-08-07 11:37:43 -07:00
Ilya Kreymer
eeff79461a rewrite: allow '\' in JS url host part (for escaped slashes)
tests: update test to reflect full 'top' rewriting
2015-08-05 11:58:44 -07:00
Ilya Kreymer
ef9fa9ec5c rewrite: don't assume window.top is the top replay frame, refactor to find top replay frame (window.__WB_replay_top) and top frame window.__WB_top_frame, for framed mode)
make top -> WB_wombat_top rewriting more general, use Object property override to return __WB_replay_top or default to regular top if not window
fixes #125
2015-08-05 10:10:10 -07:00
Ilya Kreymer
191ebe1132 url_rewriter: check for rel_prefix when 'rebasing' url_rewriter #123 2015-07-31 01:57:17 -07:00
Ilya Kreymer
a2a2a054a0 rewrite: rewrite rel urls to rel urls, both server and wombat side #123 2015-07-31 01:57:17 -07:00
Ilya Kreymer
43716f5f1d rewrite: add HostScopeCookieRewriter and make it default -- set cookie scope to rewritten host
wombat: ensure rewrite html is using a string
bump to 0.10.5!
2015-07-30 23:06:34 -07:00
Ilya Kreymer
cee3c8cb61 new wombat! refactor of rewriting:
- use defineProperty overrides on element prototypes
- postMessage() rework: store actual origin with helper function __WB_pmw(window), from
server side rewrite
- Use window.URL (or external jsurl script) to override all properties of HTMLAnchorElement,
override getAttribute() to return original
- rename window -> $wbwindow
2015-07-30 15:10:13 -07:00
Ilya Kreymer
0b4ceb9cde rewrite: if removing content-encoding, also remove the content-length as it will need to be recomputed!
proxy: for proxy mode, must buffer fully so that content-length can be added (may add chunked encoding later)
2015-07-28 14:23:50 -07:00
Ilya Kreymer
dcbe32b742 regex rewrite: don't match quoted location for rewrite 2015-07-21 11:46:19 -07:00
Ilya Kreymer
0f4d779b00 html rewrite: add 'force_html_decl' option, which if set in rewrite_opts, can be used to force an HTML decl, eg. <!DOCTYPE html> if a default one was not provided 2015-07-18 18:23:57 -07:00
Ilya Kreymer
9b08ca9005 vidrw: ensure iframe replacement does get rewritten!
regex rewrite: include '==top?' for wombat rewrite
rewrite css: if js_ modifier on text/css, treat as css
2015-07-18 12:59:20 -07:00
Ilya Kreymer
53b86798c7 url_rewrite: don't rewrite urls starting with '{' 2015-07-07 22:39:24 -07:00
Ilya Kreymer
c38d0c2aaf html attr rewrite: rewrite any " -> &quot; in html attributes 2015-07-07 14:43:15 -07:00
Ilya Kreymer
93d49ae24b rewrite deprefix: improve query deprefix to also test url-encoded params, closes #119 2015-07-06 18:19:01 -07:00
Ilya Kreymer
76ebabd3f2 rewrite rules: none or location-only rule should apply to json as well 2015-07-03 11:53:29 -07:00
Ilya Kreymer
06fcc89de6 readers: support 'content-encoding: deflate' using different zlib decompression options
support default and alt settings for attempting to decompress deflate stream
tests: add tests with httpbin.org/deflate Fixes #115
2015-06-24 13:11:33 -07:00
Ilya Kreymer
dfeccbe62d tests: header rewriter tests for custom cache header settings, #110 2015-06-05 17:48:05 -07:00
Ilya Kreymer
15c2ddbfcf header rewriter: cache options: use 'rewrite_opts.http_cache' to set caching headers options, #110
'pass': passthrough original cache headers unrewritten
None (default): rewrite cache headers and don't add anything else
N: set cache-control max-age: N and corresponding expires
N=0: set cache-control: no-cache; no-store
2015-05-29 12:53:29 -07:00
Ilya Kreymer
ee20ac66d6 rules: tw video player rules, disable rewriting
rewrite: tweak location rule
wombat: add getAttribute() override, but disabled for now
store default getAttribute()/setAttribute() to refer internally
2015-05-25 17:52:03 -07:00
Ilya Kreymer
b1c9503a9d rewrite: insert head-insert after <html>, <head> and before any other tags (if head is missing)
previously was being inserted after other head tags #109
2015-05-24 20:17:10 -07:00
Ilya Kreymer
b7e27ba1a8 tests: update tests for keeping scheme-relative, scheme-relative after rewrite #101
remove tests for document.cookie, document.referrer and document.domain rewrite, as this is now handled client-side
2015-05-21 11:38:06 -07:00
Ilya Kreymer
690106bcb4 wombat: more refactoring! enable http/src observer by default, add skip_createElement override
implement document.cookie, document.referrer and document.domain as property overrides instead of WB_wombat rewrites
when a new iframe is loaded, ensure the *document* is reinited with wombat, even if window already has wombat settings
2015-05-21 11:26:54 -07:00
Ilya Kreymer
4983bf4425 rewrite: keep relative scheme after all, to work where with: scheme + "//..." constructions, #101 2015-05-21 11:26:54 -07:00
Ilya Kreymer
0223ac0489 rewrite: top rewrite: avoid rewriting 'top(' 2015-05-14 22:32:10 -07:00
Ilya Kreymer
e94b239d84 rewrite: when rewriting scheme-relative urls, if adding an absolute prefix, use the scheme of the prefix
otherwise, keep relative scheme #101
2015-05-14 22:32:09 -07:00
Ilya Kreymer
1b9ef4e325 html_rewriter: handle parse_comments by rewriting as html, not as js, should address ikreymer/pywb-webrecorder#7 2015-05-14 22:32:09 -07:00
Ilya Kreymer
99ff29e283 js regex rewrite: scheme-rel rewrite must be preceded by a quote no semicolon, to avoid rewriting ;//comment; as url
add rewrite tests
2015-05-14 22:32:08 -07:00
Ilya Kreymer
33f247582f rewrite: HTMLRewriter should insert head_insert at end of stream, if it hasn't
been inserted by the end (and if there was some content written -- don't insert for 0-length responses)
Addresses missing head insert if only head tags are present and no head, as per hypothesis/via#9
2015-05-14 22:32:08 -07:00
Ilya Kreymer
fbb9de264a rewrite: cookie: add 'removeall' cookie rewriter which removes all the cookies! 2015-04-14 18:04:51 -07:00
Ilya Kreymer
756b80cac4 rewrite: remove urlrewriter optimization which uses wburl.original_url, as its
not realiable (%-encoding, no trailing slash issues) and not really needed.. rename original_url -> _original_url, should not be used
directly.
add test for rewriting when base url has no trailing slash
2015-04-13 12:51:38 -07:00
Ilya Kreymer
9f1ae42d1c rewrite: security: by default, disable file:// and local access unless explicitly allowed!
enable for tests with remote_only=False param
2015-04-13 09:51:12 -07:00
Ilya Kreymer
b21e288063 wburl to_uri: when parsing scheme, also for first '?' in addition to '/' to catch any irregular urls (to be ignored) 2015-04-11 10:21:52 -07:00
Ilya Kreymer
4bf1dd4cad urlrewriter: simply startswith check by using tuple 2015-04-10 14:46:46 -07:00
Ilya Kreymer
1286e9da4c wburl test: better test for bad domain 2015-04-04 17:31:38 -07:00
Ilya Kreymer
1844597889 wburl to_uri: catch error on idna encode with very invalid urls 2015-04-04 12:51:49 -07:00
Ilya Kreymer
bd21480db9 framed replay: add supporting for 'inverting' frame and replay modifiers,
setting default mod to be top-frame and inner frame to be 'mp_' #92
can enable this mode by setting framed_replay: inverse instead of true
modifiers passed to client side script via wbinfo as well
2015-04-01 10:13:56 -07:00
Ilya Kreymer
c378cb5188 rewrite: check for closed before any use of readline() (2.6 may throw if closed),
only use readline() if line alignment needed (non-html), related to #86 work
2015-04-01 07:54:17 -07:00