vibe.d and my first web service

Andre Pany andre at s-e-a-p.de
Sat Jul 18 12:16:09 UTC 2020


On Saturday, 18 July 2020 at 09:10:04 UTC, Mr. Backup wrote:
> Hello,
>
> I wanted to create simple web service to start learning more 
> about D lang and compare with another languages. I have used 
> "dub init -t vibe.d" to create basic example:
>
> import vibe.vibe;
>
> void main()
> {
> 	auto settings = new HTTPServerSettings;
> 	settings.port = 8080;
> 	settings.bindAddresses = ["::1", "127.0.0.1"];
> 	listenHTTP(settings, &hello);
>
> 	logInfo("Please open http://127.0.0.1:8080/ in your browser.");
> 	runApplication();
> }
>
> void hello(HTTPServerRequest req, HTTPServerResponse res)
> {
> 	res.writeBody("Hello, World!");
> }
>
>
>
> I started the program with "dub" command and everything worked 
> as I expected. Except that there were a lot "deprecation" 
> warnings and long time to compile.But when I exit the service 
> by ctrl + c and start again the program cannot start again with 
> error message:
>
> Failed to listen on ::1:8080
> Failed to listen on 127.0.0.1:8080
> Failed to listen for incoming HTTP connections on any of the 
> supplied interfaces.
>
> or
>
> leaking eventcore driver because there are still active handles
>
>
> Probably the application was terminated incorrectly. What 
> should I do to ensure that the application closes properly?
>
> Thank you in advance

I assume you are using vibe.d 0.8.4 or older. Please check 
whether adding this to dub.json solves your problem:

​"versions": [ "VibeHighEventPriority" ]

(Restart your pc)

Vibe.d 0.9 0 will be released soon. I hope it will work out of 
the box there.

Kind regards
Andre


More information about the Digitalmars-d-learn mailing list