arsd.cgi - maximum length of form post
bachmeier via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Dec 13 14:55:55 PST 2016
On Tuesday, 13 December 2016 at 00:54:43 UTC, Adam D. Ruppe wrote:
> On Tuesday, 13 December 2016 at 00:48:44 UTC, bachmeier wrote:
>> a range violation error core.exception.RangeError at test.d(109):
>> Range violation
>
> What's that line of your code too?
Here is a minimal program that can replicate the problem.
Compiled and run with
dmd finderror.d cgi.d -version=embedded_httpd
./finderror
import arsd.cgi;
import std.array, std.conv, std.datetime, std.file, std.process;
string input() {
return `<form action="submission" method="post">
<textarea name="note" rows="28" cols="95"></textarea><br>
<input type="submit" value="Send">
</form>`;
}
string simpleHtmlEncode(string s) {
return s.replace("&", "&").
replace("<", "<").replace(">", ">");
}
void handler(Cgi cgi) {
cgi.setResponseContentType("text/html; charset=UTF-8");
string data;
switch (cgi.pathInfo.simpleHtmlEncode()) {
case "/":
data = input();
break;
case "/submission":
string foo = cgi.post["note"];
break;
default:
data = "Not a valid page. Try again.";
break;
}
cgi.write(data, true);
}
mixin GenericMain!handler;
More information about the Digitalmars-d-learn
mailing list