1
0
Fork 0
firefox/devtools/client/netmonitor/test/sjs_method-test-server.sjs
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

35 lines
1.1 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const BinaryInputStream = Components.Constructor(
"@mozilla.org/binaryinputstream;1",
"nsIBinaryInputStream",
"setInputStream"
);
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "Och Aye");
response.setHeader("Content-Type", "text/plain; charset=utf-8", false);
let body = "";
if (request.method == "POST") {
const bodyStream = new BinaryInputStream(request.bodyInputStream);
let avail = 0;
while ((avail = bodyStream.available()) > 0) {
body += String.fromCharCode.apply(
String,
bodyStream.readByteArray(avail)
);
}
}
const contentType = request.hasHeader("content-type")
? request.getHeader("content-type")
: "";
const bodyOutput = [request.method, contentType, body].join("\n");
response.bodyOutputStream.write(bodyOutput, bodyOutput.length);
}