On Friday, 16 July 2021 at 20:04:21 UTC, jfondren wrote:
On Friday, 16 July 2021 at 19:25:32 UTC, btiffin wrote:
Using gdc-11 and Seamonkey.
https://rosettacode.org/wiki/Hello_world/Web_server#D does not
compile.
The `while` as you noted is wrong. The server also doesn't turn
REUSEADDR on for the server socket, so this will be very
annoying to test as you'll frequently get "address already in
use" errors when you restart the server. The delimited string
leads to your last problem: a blank space between the headers
and the body of the response results in "\r\n \r\n" being sent
rather than "\r\n\r\n", so the browser gives up on the invalid
HTTP.
Ahh, thanks. The spaces. And turning on REUSEADDR made playing
with the code a fair bit more fun.
But, I mainly made the note to motivate a D aficionado to update
and fix the Rosetta entry so that it at least compiles. Perhaps
the whole *be bold* thing, and make the sources as idiomatic and
correctly concise as D deserves. As a for instance, task
description calls for Goodbye as the text in the solution.
This works if you're careful to not re-add any stray whitespace
in the response:
...
But this *still violates HTTP* by not receiving the client's
request, so it's still not a good answer for the task. A vibe
hello world would make a lot more sense:
https://github.com/vibe-d/vibe.d/blob/master/examples/http_server/source/app.d
If this is the wrong place for this kind of info note, I'll
gladly move to or redo the post in a more appropriate spot.
You're in the right place.
Cool. It's a nice place. :-)
Cheers