Luuk de Gram
Luuk de Gram
According to https://datatracker.ietf.org/doc/html/rfc2068#section-19.7.1, an HTTP/1.0 client is allowed to have a persistent connection using the `Connection: keep-alive` header. This means that we should verify/check this header also for HTTP/1.0 connections,...
This proposal includes multiple changes to the way responses handle headers. The first idea is to make the key of a header an union(enum). This allows us to provide pre-defined...
Implement accordingly to https://tools.ietf.org/html/rfc2616#section-13
When a client requests with a header `Expect: 100-continue`, we must send a status 100 `continue`. We can send this immediately after verifying the request headers and MUST send this...
Clients can send the header `If-Modified-Since` to save bandwidth. Although clients can ignore this, servers must comply with this header. This means we need to be able to parse the...
HTTP 1.1 describes the requirement of having to include a `Date` header, containing the current date in GMT. We can use the following format for this: `Date: Fri, 31 Dec...
TLS is required by Gemini. The plan is to rely on [IguanaTLS](https://github.com/alexnask/iguanaTLS) for the support. We may have to implement server support ourselves and create a PR for it.
The current URI parser strips the `/` in the path component. Although this is also fixed by #2 it would be nice to have fixed this seperately.
Users only have access to a `*Response` and `Request` instance. This means that if they require access to some allocator, database connection, or w/e, the variable must be global. This...
Right now we're using the `text/gemini` as default mimetype. A better default would be to use `text/plain` similar to HTTP.