1/* This Source Code Form is subject to the terms of the Mozilla Public
2 * License, v. 2.0. If a copy of the MPL was not distributed with this
3 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
4
5const CC = Components.Constructor;
6const BinaryInputStream = CC("@mozilla.org/binaryinputstream;1",
7                             "nsIBinaryInputStream",
8                             "setInputStream");
9
10function handleRequest(request, response)
11{
12  var body =
13   '<html>\
14    <body>\
15    Outer POST data: ';
16
17  var bodyStream = new BinaryInputStream(request.bodyInputStream);
18  var bytes = [], avail = 0;
19  while ((avail = bodyStream.available()) > 0)
20   body += String.fromCharCode.apply(String, bodyStream.readByteArray(avail));
21
22  body +=
23    '<form id="postForm" action="post_form_outer.sjs" method="post">\
24     <input type="text" name="inputfield" value="outer">\
25     <input type="submit">\
26     </form>\
27     \
28     <iframe id="innerFrame" src="post_form_inner.sjs" width="400" height="200">\
29     \
30     </body>\
31     </html>';
32
33  response.bodyOutputStream.write(body, body.length);
34}
35