vibe-d/vibe-http

What is the status of this project

Opened this issue ยท 5 comments

Hello,

I would like to ask about the state of this project - how complete and reliable is it currently (yes, I expect it is still experimental, but still it can be either still lacking major features or relatively close to beta).

Are there any defined plans to release it on code.dlang.org, so that I could include it in my project in the same way I do with vibe.d and vibe-core?

Thank you for any information.

I'd relay the first question to @GallaFrancesco, since I didn't yet have the chance to test this in practice so far. But I'm planning to integrate this into vibe.d as soon as I have some spare time. It will require merging all changes in vibe-d:http that happened since the fork.

This project is meant to be used in place of the current vibe-d:http module. It includes a functioning implementation of an HTTP server which supports HTTP/1.1 and HTTP/2 over both cleartext and TLS. The HTTP/2 server lacks some features which could be useful optimizations, such as a stream prioritization algorithm.
The HTTP server as a whole has partially been rewritten but some files from the
main vibe.d repository still need to be included, above all the HTTP client implementation. Some recent PRs to the main repository still needs to be ported, but nothing that I know of that could impact functionality or interoperability with other modules.
In short: the webserver works and can be considered close to beta, while the whole module is still lacking some features of vibe-d:http.

If you are interested in using this library, I suggest you clone this repository and add it as a local package with dub:

dub add-local [absolute path to this repo]

You can add it as a dependency in your dub configuration file with the path specifier, e.g. (dub.sdl):

dependency "vibe-http" path="/path/to/this/repo"

What this module needs the most is testing, therefore if you decide to try it please let me know if you run into any particular problems. As you said, this whole codebase is experimental and some bugs might need to be found and fixed.

The development is proceeding at a very slow pace and including this in code.dlang.org hasn't been considered yet, but I guess you should ask @s-ludwig for more details in this regard.

Actually I don't think it would be much of an issue to just add it to code.dlang.org right now. I'd just make a v0.1.0 tag and a clear notice that this is still experimental and may receive breaking changes.

@s-ludwig thank you, that would be extremely convenient! I'll edit the README to include some information regarding the current status of the module.