-
Notifications
You must be signed in to change notification settings - Fork 564
Web Client
Tomas Langer edited this page Oct 3, 2018
·
3 revisions
The client should be a reactive HTTP client easy to use with our Web Server. There is an HTTP client coming with 11 that supports HTTP2. We should think about how to integrate this (maybe client would only work on jdk11+?). API: https://docs.oracle.com/en/java/javase/11/docs/api/java.net.http/java/net/http/package-summary.html
This is a list (unsorted) of features that may be supported by the client.
- HTML form support
- Nice way to submit forms as-if from browser
- Upload/download support
- Proxy support
- Configurable on client and overridable per request
- Tracing support
- Trace client calls (configurable)
- Propagate tracing information (headers)
- Metrics support
- Meter client calls (configurable)
- Testing support (mocking)
- Keep alives
- Configurable
- Security - should use Helidon Security features for Outbound Security
- Specific security configurable per request
- Work with existing providers (basic, digest auth, signatures, jwt, combinations)
- HTTP 2
- Open API support (e.g. generate client from blueprint)
- Service Registry support
- Support for various media types & mapping to java
- JSON-B, JSON-P, URL encoded forms etc.
- Correctly set content type on request
- Correctly apply based on response content type
- Unify as much as possible with server side
- Eventually multipart messages
- Shortcut methods to common headers (same as server)
- Request
- Response
- Methods for handling similar to web server
- Request
- Response
- Jigsaw modules