Skip to content

Instantly share code, notes, and snippets.

@nxnfufunezn
Last active October 26, 2015 17:11
Show Gist options
  • Save nxnfufunezn/220bd5dc1dfb590bb8d6 to your computer and use it in GitHub Desktop.
Save nxnfufunezn/220bd5dc1dfb590bb8d6 to your computer and use it in GitHub Desktop.
brotli test
import brotli
def main(request, response):
if "content" in request.GET:
output = request.GET["content"]
else:
output = request.body
output = brotli.compress(output)
headers = [("Content-type", "text/plain"),
("Content-Encoding", "br"),
("Content-Length", len(output))]
return headers, output
# Should be added to python/requirements.txt
brotli == 0.2.0
<!doctype html>
<html>
<head>
<title>XMLHttpRequest: Brotli response was correctly inflated</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<link rel="help" href="https://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-send()-method" data-tested-assertations="following::p[contains(text(),'content-encodings')]" />
</head>
<body>
<div id="log"></div>
<script>
function request(input) {
var test = async_test();
test.step(function() {
var client = new XMLHttpRequest()
client.open("POST", "resources/brotli.py", false);
client.onreadystatechange = test.step_func(function () {
if (client.readyState === 4) {
var len = parseInt(client.getResponseHeader('content-length'), 10);
assert_equals(client.getResponseHeader('content-encoding'), 'br');
assert_true(len < input.length);
assert_equals(client.responseText, input);
test.done();
}
});
client.send(input);
}, document.title);
}
var wellCompressableData = '';
for (var i = 0; i < 500; i++) {
wellCompressableData += 'foofoofoofoofoofoofoo';
}
request(wellCompressableData);
</script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment