]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
Add CGI sample to show how JScript can be used (BZ51359).
authorGuenter Knauf <fuankg@apache.org>
Sat, 29 Sep 2012 08:44:53 +0000 (08:44 +0000)
committerGuenter Knauf <fuankg@apache.org>
Sat, 29 Sep 2012 08:44:53 +0000 (08:44 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1391773 13f79535-47bb-0310-9956-ffa450edef68

docs/cgi-examples/printenv.wsf [new file with mode: 0644]

diff --git a/docs/cgi-examples/printenv.wsf b/docs/cgi-examples/printenv.wsf
new file mode 100644 (file)
index 0000000..c70b9a6
--- /dev/null
@@ -0,0 +1,30 @@
+'
+
+' To permit this cgi, replace ' on the first line above with the
+' appropriate shebang, f.e. '!c:/windows/system32/cscript -nologo
+'
+' Note that it is subject to cross site scripting attacks on MS IE
+' and any other browser which fails to honor RFC2616, so never use
+' it in a live server environment, it is provided only for testing.
+
+''
+''  printenv -- demo CGI program which just prints its environment
+''
+<job>
+<script language="JScript">
+  WScript.Echo("Content-type: text/plain; charset=iso-8859-1\n");
+  var objShell = new ActiveXObject("WScript.Shell");
+  var objArray = new Array();
+  var e = new Enumerator(objShell.Environment("PROCESS"));
+  for (;!e.atEnd();e.moveNext()) {
+    var i = e.item().indexOf("=");
+    var envvar = e.item().substring(0, i);
+    var envval = e.item().substring(i + 1, e.item().length);
+    envval = envval.replace("\n", "\\n");
+    objArray.push(envvar + "=\"" + envval + "\"");
+  }
+  objArray.sort();
+  WScript.Echo(objArray.join("\n"));
+</script>
+</job>
+