blob: b5eefb5492394147d098ec4bcfe6cc59d2b78218 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
/*
Helper Server -
Send a Request with ?queryResult - response will be the
queryString of the next request.
*/
// small red image
const IMG_BYTES = atob(
"iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12" +
"P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=="
);
function handleRequest(request, response) {
// avoid confusing cache behaviors
response.setHeader("Cache-Control", "no-cache", false);
// save the object state of the initial request, which returns
// async once the server has processed the img request.
if (request.queryString.includes("wait")) {
response.processAsync();
setObjectState("wait", response);
return;
}
response.write(IMG_BYTES);
// return the result
getObjectState("wait", function(queryResponse) {
if (!queryResponse) {
return;
}
queryResponse.write("1");
queryResponse.finish();
});
return;
}
|