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@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("&", "&amp;").
  replace("<", "&lt;").replace(">", "&gt;");
}

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;

Reply via email to