A generic HTTP client and server library.
As a couple of people have mentioned to me, independently a number of projects have created their own http client and/or server libraries-
- ... and probably others
These libraries do a number of similar common tasks for clients and servers
- provide a higher level API compared to SwiftNIO
- server: handles incoming requests, dispatching to some handler that can produce a response
- client: handles submission of a request and dispatching to some way of handling the response
There are a number of different use cases for both client and server-
- raw HTTP request and response
- serialization/de-serialization of request/response via something like Codable
- streaming/multi-part/flushable request/response
- HTTP/2 multiplexing?
The purpose of this thread is to discuss the viability of a shared generic HTTP client/server library to provide high quality implementations that can be used across the various Swift frameworks and to prevent the need for smaller projects to re-implement the same functionality.