mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-19 08:15:31 +00:00
796be0697d
CLOSED TREE Backed out changeset 73d0f6b58639 (bug 1117650) Backed out changeset 646b7dddf7c5 (bug 1117650) Backed out changeset eed379ade07e (bug 1117650) --HG-- rename : dom/security/test/TestCSPParser.cpp => dom/base/test/TestCSPParser.cpp rename : dom/security/test/csp/chrome.ini => dom/base/test/csp/chrome.ini rename : dom/security/test/csp/file_CSP.css => dom/base/test/csp/file_CSP.css rename : dom/security/test/csp/file_CSP.sjs => dom/base/test/csp/file_CSP.sjs rename : dom/security/test/csp/file_bug663567.xsl => dom/base/test/csp/file_CSP_bug663567.xsl rename : dom/security/test/csp/file_bug663567_allows.xml => dom/base/test/csp/file_CSP_bug663567_allows.xml rename : dom/security/test/csp/file_bug663567_allows.xml^headers^ => dom/base/test/csp/file_CSP_bug663567_allows.xml^headers^ rename : dom/security/test/csp/file_bug663567_blocks.xml => dom/base/test/csp/file_CSP_bug663567_blocks.xml rename : dom/security/test/csp/file_bug663567_blocks.xml^headers^ => dom/base/test/csp/file_CSP_bug663567_blocks.xml^headers^ rename : dom/security/test/csp/file_bug802872.html => dom/base/test/csp/file_CSP_bug802872.html rename : dom/security/test/csp/file_bug802872.html^headers^ => dom/base/test/csp/file_CSP_bug802872.html^headers^ rename : dom/security/test/csp/file_bug802872.js => dom/base/test/csp/file_CSP_bug802872.js rename : dom/security/test/csp/file_bug802872.sjs => dom/base/test/csp/file_CSP_bug802872.sjs rename : dom/security/test/csp/file_bug885433_allows.html => dom/base/test/csp/file_CSP_bug885433_allows.html rename : dom/security/test/csp/file_bug885433_allows.html^headers^ => dom/base/test/csp/file_CSP_bug885433_allows.html^headers^ rename : dom/security/test/csp/file_bug885433_blocks.html => dom/base/test/csp/file_CSP_bug885433_blocks.html rename : dom/security/test/csp/file_bug885433_blocks.html^headers^ => dom/base/test/csp/file_CSP_bug885433_blocks.html^headers^ rename : dom/security/test/csp/file_bug888172.html => dom/base/test/csp/file_CSP_bug888172.html rename : dom/security/test/csp/file_bug888172.sjs => dom/base/test/csp/file_CSP_bug888172.sjs rename : dom/security/test/csp/file_bug909029_none.html => dom/base/test/csp/file_CSP_bug909029_none.html rename : dom/security/test/csp/file_bug909029_none.html^headers^ => dom/base/test/csp/file_CSP_bug909029_none.html^headers^ rename : dom/security/test/csp/file_bug909029_star.html => dom/base/test/csp/file_CSP_bug909029_star.html rename : dom/security/test/csp/file_bug909029_star.html^headers^ => dom/base/test/csp/file_CSP_bug909029_star.html^headers^ rename : dom/security/test/csp/file_bug910139.sjs => dom/base/test/csp/file_CSP_bug910139.sjs rename : dom/security/test/csp/file_bug910139.xml => dom/base/test/csp/file_CSP_bug910139.xml rename : dom/security/test/csp/file_bug910139.xsl => dom/base/test/csp/file_CSP_bug910139.xsl rename : dom/security/test/csp/file_bug941404.html => dom/base/test/csp/file_CSP_bug941404.html rename : dom/security/test/csp/file_bug941404_xhr.html => dom/base/test/csp/file_CSP_bug941404_xhr.html rename : dom/security/test/csp/file_bug941404_xhr.html^headers^ => dom/base/test/csp/file_CSP_bug941404_xhr.html^headers^ rename : dom/security/test/csp/file_evalscript_main.html => dom/base/test/csp/file_CSP_evalscript_main.html rename : dom/security/test/csp/file_evalscript_main.html^headers^ => dom/base/test/csp/file_CSP_evalscript_main.html^headers^ rename : dom/security/test/csp/file_evalscript_main.js => dom/base/test/csp/file_CSP_evalscript_main.js rename : dom/security/test/csp/file_evalscript_main_allowed.html => dom/base/test/csp/file_CSP_evalscript_main_allowed.html rename : dom/security/test/csp/file_evalscript_main_allowed.html^headers^ => dom/base/test/csp/file_CSP_evalscript_main_allowed.html^headers^ rename : dom/security/test/csp/file_evalscript_main_allowed.js => dom/base/test/csp/file_CSP_evalscript_main_allowed.js rename : dom/security/test/csp/file_frameancestors.sjs => dom/base/test/csp/file_CSP_frameancestors.sjs rename : dom/security/test/csp/file_frameancestors_main.html => dom/base/test/csp/file_CSP_frameancestors_main.html rename : dom/security/test/csp/file_frameancestors_main.js => dom/base/test/csp/file_CSP_frameancestors_main.js rename : dom/security/test/csp/file_inlinescript_main.html => dom/base/test/csp/file_CSP_inlinescript_main.html rename : dom/security/test/csp/file_inlinescript_main.html^headers^ => dom/base/test/csp/file_CSP_inlinescript_main.html^headers^ rename : dom/security/test/csp/file_inlinescript_main_allowed.html => dom/base/test/csp/file_CSP_inlinescript_main_allowed.html rename : dom/security/test/csp/file_inlinescript_main_allowed.html^headers^ => dom/base/test/csp/file_CSP_inlinescript_main_allowed.html^headers^ rename : dom/security/test/csp/file_inlinestyle_main.html => dom/base/test/csp/file_CSP_inlinestyle_main.html rename : dom/security/test/csp/file_inlinestyle_main.html^headers^ => dom/base/test/csp/file_CSP_inlinestyle_main.html^headers^ rename : dom/security/test/csp/file_inlinestyle_main_allowed.html => dom/base/test/csp/file_CSP_inlinestyle_main_allowed.html rename : dom/security/test/csp/file_inlinestyle_main_allowed.html^headers^ => dom/base/test/csp/file_CSP_inlinestyle_main_allowed.html^headers^ rename : dom/security/test/csp/file_main.html => dom/base/test/csp/file_CSP_main.html rename : dom/security/test/csp/file_main.html^headers^ => dom/base/test/csp/file_CSP_main.html^headers^ rename : dom/security/test/csp/file_main.js => dom/base/test/csp/file_CSP_main.js rename : dom/security/test/csp/file_base-uri.html => dom/base/test/csp/file_base-uri.html rename : dom/security/test/csp/file_bug836922_npolicies.html => dom/base/test/csp/file_bug836922_npolicies.html rename : dom/security/test/csp/file_bug836922_npolicies.html^headers^ => dom/base/test/csp/file_bug836922_npolicies.html^headers^ rename : dom/security/test/csp/file_bug836922_npolicies_ro_violation.sjs => dom/base/test/csp/file_bug836922_npolicies_ro_violation.sjs rename : dom/security/test/csp/file_bug836922_npolicies_violation.sjs => dom/base/test/csp/file_bug836922_npolicies_violation.sjs rename : dom/security/test/csp/file_bug886164.html => dom/base/test/csp/file_bug886164.html rename : dom/security/test/csp/file_bug886164.html^headers^ => dom/base/test/csp/file_bug886164.html^headers^ rename : dom/security/test/csp/file_bug886164_2.html => dom/base/test/csp/file_bug886164_2.html rename : dom/security/test/csp/file_bug886164_2.html^headers^ => dom/base/test/csp/file_bug886164_2.html^headers^ rename : dom/security/test/csp/file_bug886164_3.html => dom/base/test/csp/file_bug886164_3.html rename : dom/security/test/csp/file_bug886164_3.html^headers^ => dom/base/test/csp/file_bug886164_3.html^headers^ rename : dom/security/test/csp/file_bug886164_4.html => dom/base/test/csp/file_bug886164_4.html rename : dom/security/test/csp/file_bug886164_4.html^headers^ => dom/base/test/csp/file_bug886164_4.html^headers^ rename : dom/security/test/csp/file_bug886164_5.html => dom/base/test/csp/file_bug886164_5.html rename : dom/security/test/csp/file_bug886164_5.html^headers^ => dom/base/test/csp/file_bug886164_5.html^headers^ rename : dom/security/test/csp/file_bug886164_6.html => dom/base/test/csp/file_bug886164_6.html rename : dom/security/test/csp/file_bug886164_6.html^headers^ => dom/base/test/csp/file_bug886164_6.html^headers^ rename : dom/security/test/csp/file_connect-src.html => dom/base/test/csp/file_connect-src.html rename : dom/security/test/csp/file_allow_https_schemes.html => dom/base/test/csp/file_csp_allow_https_schemes.html rename : dom/security/test/csp/file_bug768029.html => dom/base/test/csp/file_csp_bug768029.html rename : dom/security/test/csp/file_bug768029.sjs => dom/base/test/csp/file_csp_bug768029.sjs rename : dom/security/test/csp/file_bug773891.html => dom/base/test/csp/file_csp_bug773891.html rename : dom/security/test/csp/file_bug773891.sjs => dom/base/test/csp/file_csp_bug773891.sjs rename : dom/security/test/csp/file_invalid_source_expression.html => dom/base/test/csp/file_csp_invalid_source_expression.html rename : dom/security/test/csp/file_path_matching.html => dom/base/test/csp/file_csp_path_matching.html rename : dom/security/test/csp/file_path_matching.js => dom/base/test/csp/file_csp_path_matching.js rename : dom/security/test/csp/file_path_matching_redirect.html => dom/base/test/csp/file_csp_path_matching_redirect.html rename : dom/security/test/csp/file_path_matching_redirect_server.sjs => dom/base/test/csp/file_csp_path_matching_redirect_server.sjs rename : dom/security/test/csp/file_redirects_main.html => dom/base/test/csp/file_csp_redirects_main.html rename : dom/security/test/csp/file_redirects_page.sjs => dom/base/test/csp/file_csp_redirects_page.sjs rename : dom/security/test/csp/file_redirects_resource.sjs => dom/base/test/csp/file_csp_redirects_resource.sjs rename : dom/security/test/csp/file_referrerdirective.html => dom/base/test/csp/file_csp_referrerdirective.html rename : dom/security/test/csp/file_report.html => dom/base/test/csp/file_csp_report.html rename : dom/security/test/csp/file_testserver.sjs => dom/base/test/csp/file_csp_testserver.sjs rename : dom/security/test/csp/file_form-action.html => dom/base/test/csp/file_form-action.html rename : dom/security/test/csp/file_hash_source.html => dom/base/test/csp/file_hash_source.html rename : dom/security/test/csp/file_hash_source.html^headers^ => dom/base/test/csp/file_hash_source.html^headers^ rename : dom/security/test/csp/file_leading_wildcard.html => dom/base/test/csp/file_leading_wildcard.html rename : dom/security/test/csp/file_multi_policy_injection_bypass.html => dom/base/test/csp/file_multi_policy_injection_bypass.html rename : dom/security/test/csp/file_multi_policy_injection_bypass.html^headers^ => dom/base/test/csp/file_multi_policy_injection_bypass.html^headers^ rename : dom/security/test/csp/file_multi_policy_injection_bypass_2.html => dom/base/test/csp/file_multi_policy_injection_bypass_2.html rename : dom/security/test/csp/file_multi_policy_injection_bypass_2.html^headers^ => dom/base/test/csp/file_multi_policy_injection_bypass_2.html^headers^ rename : dom/security/test/csp/file_nonce_source.html => dom/base/test/csp/file_nonce_source.html rename : dom/security/test/csp/file_nonce_source.html^headers^ => dom/base/test/csp/file_nonce_source.html^headers^ rename : dom/security/test/csp/file_policyuri_regression_from_multipolicy.html => dom/base/test/csp/file_policyuri_regression_from_multipolicy.html rename : dom/security/test/csp/file_policyuri_regression_from_multipolicy.html^headers^ => dom/base/test/csp/file_policyuri_regression_from_multipolicy.html^headers^ rename : dom/security/test/csp/file_policyuri_regression_from_multipolicy_policy => dom/base/test/csp/file_policyuri_regression_from_multipolicy_policy rename : dom/security/test/csp/file_redirect_content.sjs => dom/base/test/csp/file_redirect_content.sjs rename : dom/security/test/csp/file_redirect_report.sjs => dom/base/test/csp/file_redirect_report.sjs rename : dom/security/test/csp/file_report_uri_missing_in_report_only_header.html => dom/base/test/csp/file_report_uri_missing_in_report_only_header.html rename : dom/security/test/csp/file_report_uri_missing_in_report_only_header.html^headers^ => dom/base/test/csp/file_report_uri_missing_in_report_only_header.html^headers^ rename : dom/security/test/csp/file_self_none_as_hostname_confusion.html => dom/base/test/csp/file_self_none_as_hostname_confusion.html rename : dom/security/test/csp/file_self_none_as_hostname_confusion.html^headers^ => dom/base/test/csp/file_self_none_as_hostname_confusion.html^headers^ rename : dom/security/test/csp/file_subframe_run_js_if_allowed.html => dom/base/test/csp/file_subframe_run_js_if_allowed.html rename : dom/security/test/csp/file_subframe_run_js_if_allowed.html^headers^ => dom/base/test/csp/file_subframe_run_js_if_allowed.html^headers^ rename : dom/security/test/csp/file_worker_redirect.html => dom/base/test/csp/file_worker_redirect.html rename : dom/security/test/csp/file_worker_redirect.sjs => dom/base/test/csp/file_worker_redirect.sjs rename : dom/security/test/csp/mochitest.ini => dom/base/test/csp/mochitest.ini rename : dom/security/test/csp/referrerdirective.sjs => dom/base/test/csp/referrerdirective.sjs rename : dom/security/test/csp/test_301_redirect.html => dom/base/test/csp/test_301_redirect.html rename : dom/security/test/csp/test_302_redirect.html => dom/base/test/csp/test_302_redirect.html rename : dom/security/test/csp/test_303_redirect.html => dom/base/test/csp/test_303_redirect.html rename : dom/security/test/csp/test_307_redirect.html => dom/base/test/csp/test_307_redirect.html rename : dom/security/test/csp/test_CSP.html => dom/base/test/csp/test_CSP.html rename : dom/security/test/csp/test_bug663567.html => dom/base/test/csp/test_CSP_bug663567.html rename : dom/security/test/csp/test_bug802872.html => dom/base/test/csp/test_CSP_bug802872.html rename : dom/security/test/csp/test_bug885433.html => dom/base/test/csp/test_CSP_bug885433.html rename : dom/security/test/csp/test_bug888172.html => dom/base/test/csp/test_CSP_bug888172.html rename : dom/security/test/csp/test_bug909029.html => dom/base/test/csp/test_CSP_bug909029.html rename : dom/security/test/csp/test_bug910139.html => dom/base/test/csp/test_CSP_bug910139.html rename : dom/security/test/csp/test_bug941404.html => dom/base/test/csp/test_CSP_bug941404.html rename : dom/security/test/csp/test_evalscript.html => dom/base/test/csp/test_CSP_evalscript.html rename : dom/security/test/csp/test_frameancestors.html => dom/base/test/csp/test_CSP_frameancestors.html rename : dom/security/test/csp/test_inlinescript.html => dom/base/test/csp/test_CSP_inlinescript.html rename : dom/security/test/csp/test_inlinestyle.html => dom/base/test/csp/test_CSP_inlinestyle.html rename : dom/security/test/csp/test_referrerdirective.html => dom/base/test/csp/test_CSP_referrerdirective.html rename : dom/security/test/csp/test_base-uri.html => dom/base/test/csp/test_base-uri.html rename : dom/security/test/csp/test_bug836922_npolicies.html => dom/base/test/csp/test_bug836922_npolicies.html rename : dom/security/test/csp/test_bug886164.html => dom/base/test/csp/test_bug886164.html rename : dom/security/test/csp/test_bug949549.html => dom/base/test/csp/test_bug949549.html rename : dom/security/test/csp/test_connect-src.html => dom/base/test/csp/test_connect-src.html rename : dom/security/test/csp/test_allow_https_schemes.html => dom/base/test/csp/test_csp_allow_https_schemes.html rename : dom/security/test/csp/test_bug768029.html => dom/base/test/csp/test_csp_bug768029.html rename : dom/security/test/csp/test_bug773891.html => dom/base/test/csp/test_csp_bug773891.html rename : dom/security/test/csp/test_invalid_source_expression.html => dom/base/test/csp/test_csp_invalid_source_expression.html rename : dom/security/test/csp/test_path_matching.html => dom/base/test/csp/test_csp_path_matching.html rename : dom/security/test/csp/test_path_matching_redirect.html => dom/base/test/csp/test_csp_path_matching_redirect.html rename : dom/security/test/csp/test_redirects.html => dom/base/test/csp/test_csp_redirects.html rename : dom/security/test/csp/test_report.html => dom/base/test/csp/test_csp_report.html rename : dom/security/test/csp/test_form-action.html => dom/base/test/csp/test_form-action.html rename : dom/security/test/csp/test_hash_source.html => dom/base/test/csp/test_hash_source.html rename : dom/security/test/csp/test_leading_wildcard.html => dom/base/test/csp/test_leading_wildcard.html rename : dom/security/test/csp/test_multi_policy_injection_bypass.html => dom/base/test/csp/test_multi_policy_injection_bypass.html rename : dom/security/test/csp/test_nonce_source.html => dom/base/test/csp/test_nonce_source.html rename : dom/security/test/csp/test_policyuri_regression_from_multipolicy.html => dom/base/test/csp/test_policyuri_regression_from_multipolicy.html rename : dom/security/test/csp/test_report_uri_missing_in_report_only_header.html => dom/base/test/csp/test_report_uri_missing_in_report_only_header.html rename : dom/security/test/csp/test_self_none_as_hostname_confusion.html => dom/base/test/csp/test_self_none_as_hostname_confusion.html rename : dom/security/test/csp/test_subframe_run_js_if_allowed.html => dom/base/test/csp/test_subframe_run_js_if_allowed.html rename : dom/security/test/csp/test_worker_redirect.html => dom/base/test/csp/test_worker_redirect.html rename : dom/security/test/cors/file_CrossSiteXHR_cache_server.sjs => dom/base/test/file_CrossSiteXHR_cache_server.sjs rename : dom/security/test/cors/file_CrossSiteXHR_inner.html => dom/base/test/file_CrossSiteXHR_inner.html rename : dom/security/test/cors/file_CrossSiteXHR_inner.jar => dom/base/test/file_CrossSiteXHR_inner.jar rename : dom/security/test/cors/file_CrossSiteXHR_inner_data.sjs => dom/base/test/file_CrossSiteXHR_inner_data.sjs rename : dom/security/test/cors/file_CrossSiteXHR_server.sjs => dom/base/test/file_CrossSiteXHR_server.sjs rename : dom/security/test/mixedcontentblocker/file_bug803225_test_mailto.html => dom/base/test/mixedcontentblocker/bug803225_test_mailto.html rename : dom/security/test/mixedcontentblocker/file_frameNavigation.html => dom/base/test/mixedcontentblocker/file_mixed_content_frameNavigation.html rename : dom/security/test/mixedcontentblocker/file_frameNavigation_blankTarget.html => dom/base/test/mixedcontentblocker/file_mixed_content_frameNavigation_blankTarget.html rename : dom/security/test/mixedcontentblocker/file_frameNavigation_grandchild.html => dom/base/test/mixedcontentblocker/file_mixed_content_frameNavigation_grandchild.html rename : dom/security/test/mixedcontentblocker/file_frameNavigation_innermost.html => dom/base/test/mixedcontentblocker/file_mixed_content_frameNavigation_innermost.html rename : dom/security/test/mixedcontentblocker/file_frameNavigation_secure.html => dom/base/test/mixedcontentblocker/file_mixed_content_frameNavigation_secure.html rename : dom/security/test/mixedcontentblocker/file_frameNavigation_secure_grandchild.html => dom/base/test/mixedcontentblocker/file_mixed_content_frameNavigation_secure_grandchild.html rename : dom/security/test/mixedcontentblocker/file_main.html => dom/base/test/mixedcontentblocker/file_mixed_content_main.html rename : dom/security/test/mixedcontentblocker/file_main_bug803225.html => dom/base/test/mixedcontentblocker/file_mixed_content_main_bug803225.html rename : dom/security/test/mixedcontentblocker/file_main_bug803225_websocket_wsh.py => dom/base/test/mixedcontentblocker/file_mixed_content_main_bug803225_websocket_wsh.py rename : dom/security/test/mixedcontentblocker/file_server.sjs => dom/base/test/mixedcontentblocker/file_mixed_content_server.sjs rename : dom/security/test/mixedcontentblocker/mochitest.ini => dom/base/test/mixedcontentblocker/mochitest.ini rename : dom/security/test/mixedcontentblocker/test_main.html => dom/base/test/mixedcontentblocker/test_mixed_content_blocker.html rename : dom/security/test/mixedcontentblocker/test_bug803225.html => dom/base/test/mixedcontentblocker/test_mixed_content_blocker_bug803225.html rename : dom/security/test/mixedcontentblocker/test_frameNavigation.html => dom/base/test/mixedcontentblocker/test_mixed_content_blocker_frameNavigation.html rename : dom/security/test/cors/test_CrossSiteXHR.html => dom/base/test/test_CrossSiteXHR.html rename : dom/security/test/cors/test_CrossSiteXHR_cache.html => dom/base/test/test_CrossSiteXHR_cache.html rename : dom/security/test/cors/test_CrossSiteXHR_origin.html => dom/base/test/test_CrossSiteXHR_origin.html rename : dom/security/test/unit/test_cspreports.js => dom/base/test/unit/test_cspreports.js
104 lines
2.8 KiB
JavaScript
104 lines
2.8 KiB
JavaScript
var data = '<!DOCTYPE HTML>\n\
|
|
<html>\n\
|
|
<head>\n\
|
|
<script>\n\
|
|
window.addEventListener("message", function(e) {\n\
|
|
\n\
|
|
sendData = null;\n\
|
|
\n\
|
|
req = eval(e.data);\n\
|
|
var res = {\n\
|
|
didFail: false,\n\
|
|
events: [],\n\
|
|
progressEvents: 0\n\
|
|
};\n\
|
|
\n\
|
|
var xhr = new XMLHttpRequest();\n\
|
|
for (type of ["load", "abort", "error", "loadstart", "loadend"]) {\n\
|
|
xhr.addEventListener(type, function(e) {\n\
|
|
res.events.push(e.type);\n\
|
|
}, false);\n\
|
|
}\n\
|
|
xhr.addEventListener("readystatechange", function(e) {\n\
|
|
res.events.push("rs" + xhr.readyState);\n\
|
|
}, false);\n\
|
|
xhr.addEventListener("progress", function(e) {\n\
|
|
res.progressEvents++;\n\
|
|
}, false);\n\
|
|
if (req.uploadProgress) {\n\
|
|
xhr.upload.addEventListener(req.uploadProgress, function(e) {\n\
|
|
res.progressEvents++;\n\
|
|
}, false);\n\
|
|
}\n\
|
|
xhr.onerror = function(e) {\n\
|
|
res.didFail = true;\n\
|
|
};\n\
|
|
xhr.onloadend = function (event) {\n\
|
|
res.status = xhr.status;\n\
|
|
try {\n\
|
|
res.statusText = xhr.statusText;\n\
|
|
} catch (e) {\n\
|
|
delete(res.statusText);\n\
|
|
}\n\
|
|
res.responseXML = xhr.responseXML ?\n\
|
|
(new XMLSerializer()).serializeToString(xhr.responseXML) :\n\
|
|
null;\n\
|
|
res.responseText = xhr.responseText;\n\
|
|
\n\
|
|
res.responseHeaders = {};\n\
|
|
for (responseHeader in req.responseHeaders) {\n\
|
|
res.responseHeaders[responseHeader] =\n\
|
|
xhr.getResponseHeader(responseHeader);\n\
|
|
}\n\
|
|
res.allResponseHeaders = {};\n\
|
|
var splitHeaders = xhr.getAllResponseHeaders().split("\\r\\n");\n\
|
|
for (var i = 0; i < splitHeaders.length; i++) {\n\
|
|
var headerValuePair = splitHeaders[i].split(":");\n\
|
|
if(headerValuePair[1] != null){\n\
|
|
var headerName = trimString(headerValuePair[0]);\n\
|
|
var headerValue = trimString(headerValuePair[1]); \n\
|
|
res.allResponseHeaders[headerName] = headerValue;\n\
|
|
}\n\
|
|
}\n\
|
|
post(e, res);\n\
|
|
}\n\
|
|
\n\
|
|
if (req.withCred)\n\
|
|
xhr.withCredentials = true;\n\
|
|
if (req.body)\n\
|
|
sendData = req.body;\n\
|
|
\n\
|
|
res.events.push("opening");\n\
|
|
xhr.open(req.method, req.url, true);\n\
|
|
\n\
|
|
for (header in req.headers) {\n\
|
|
xhr.setRequestHeader(header, req.headers[header]);\n\
|
|
}\n\
|
|
\n\
|
|
res.events.push("sending");\n\
|
|
xhr.send(sendData);\n\
|
|
\n\
|
|
}, false);\n\
|
|
\n\
|
|
function post(e, res) {\n\
|
|
e.source.postMessage(res.toSource(), "*");\n\
|
|
}\n\
|
|
function trimString(stringValue) {\n\
|
|
return stringValue.replace("/^\s+|\s+$/g","");\n\
|
|
};\n\
|
|
\n\
|
|
</script>\n\
|
|
</head>\n\
|
|
<body>\n\
|
|
Inner page\n\
|
|
</body>\n\
|
|
</html>'
|
|
|
|
function handleRequest(request, response)
|
|
{
|
|
response.setStatusLine(null, 302, "Follow me");
|
|
response.setHeader("Location", "data:text/html," + escape(data));
|
|
response.setHeader("Content-Type", "text/plain");
|
|
response.write("Follow that guy!");
|
|
}
|