Features
Implemented features :
- HttpMessage listeners
- Requests before they are processed
- Responses with their corresponding requests
- HttpMessage processor, to forbid or modify requests or responses
- Keep-Alive full support
- Chunk encoding full support
- MultiThreaded architecture
- One thread for each distinct connection
- Man-in-the-middle automatic support for the CONNECT http Method
- HTTP or HTTPS on the same TCP/IP port (ssl socket upgrade)
- Default processor :
- Cleanup requests with compressed content encoding
- Java 5 is mandatory
- All I/O are done using Java NIO
Limits :
- Http message bodies are entirely read in memory before being sent back (in a future release, they will be stored on disk)
- Current architecture is not suitable with a high number of users (in a future release, I'll use multiplexing to process requests in order to keep the number of threads low)
- Man-in-the-middle approach for HTTPS can not be desactivated
Warning :
- Listeners and processors must be fast, for listeners use deferred execution (something like Swing invokeLater for example)