Skip to content

Commit 8088a2d

Browse files
committed
Added an interface that enables client to run chunking-detection test.
1 parent 39f8594 commit 8088a2d

File tree

2 files changed

+27
-0
lines changed

2 files changed

+27
-0
lines changed

src/chunking-test.coffee

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
utils = require('./utils')
2+
3+
exports.app =
4+
chunking_test: (req, res, _, next_filter) ->
5+
res.setHeader('Content-Type', 'application/javascript; charset=UTF-8')
6+
res.writeHead(200)
7+
8+
write = (payload) =>
9+
try
10+
res.write(payload + '\n')
11+
catch x
12+
return
13+
14+
utils.timeout_chain([
15+
# IE requires 2KB prelude
16+
[0, => write(Array(2048).join(' ')) + 'h'],
17+
[1, => write('h')],
18+
[10, => write('h')],
19+
[50, => write('h')],
20+
[100, => write('h')],
21+
[239, => write('h'); res.end()],
22+
])
23+
return true

src/sockjs.coffee

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ trans_xhr = require('./trans-xhr')
88
iframe = require('./iframe')
99
trans_eventsource = require('./trans-eventsource')
1010
trans_htmlfile = require('./trans-htmlfile')
11+
chunking_test = require('./chunking-test')
1112

1213

1314
app =
@@ -23,6 +24,7 @@ app =
2324

2425
$.extend(app, webjs.generic_app)
2526
$.extend(app, iframe.app)
27+
$.extend(app, chunking_test.app)
2628

2729
$.extend(app, trans_websocket.app)
2830
$.extend(app, trans_jsonp.app)
@@ -54,6 +56,8 @@ class Server extends events.EventEmitter
5456
dispatcher = [
5557
['GET', p(''), ['welcome_screen']],
5658
['GET', p('/iframe[0-9-.a-z_]*.html'), ['iframe', 'cache_for', 'expose']],
59+
['OPTIONS', p('/chunking_test'), opts_filters],
60+
['POST', p('/chunking_test'), ['h_sid', 'xhr_cors', 'expect_xhr', 'chunking_test']],
5761
['GET', t('/jsonp'), ['h_sid', 'h_no_cache', 'jsonp']],
5862
['POST', t('/jsonp_send'), ['h_sid', 'expect_form', 'jsonp_send']],
5963
['POST', t('/xhr'), ['h_sid', 'xhr_cors', 'xhr_poll']],

0 commit comments

Comments
 (0)