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