Open anupama-pathirage opened 1 year ago
I went through all HTTP examples and listed the clients and servers linked in them. Most of the examples are linked to the relevant client/server. Some client and server examples are linked multiple times based on relevancy.
Client | Server | Comment |
---|---|---|
HTTP client - HTTP/2 Server push | HTTP service - HTTP/2 Server push | |
HTTP client - HTTP/2 prior knowledge | REST service - Basic | |
HTTP client - HTTP/2 to HTTP/1.1 downgrade | REST service - Basic | |
HTTP client - Send request/Receive response | HTTP service - HTTP/2 to HTTP/1.1 downgrade | |
HTTP service - 100 continue | The client implementation is similar to the HTTP client - Header parameter . but we can't use it as we need to send different header values. |
|
HTTP client - Send request/Receive response | HTTP service - Access logs | |
HTTP client - Enable Caching | REST service - Send cache response | |
HTTP client - Send request/Receive response | HTTP service - Caller object | |
HTTP client - Circuit breaker | REST service - Basic | |
HTTP client - Basic authentication | HTTP service - Basic authentication file user store | |
HTTP client - Bearer token authentication | ||
HTTP client - Chunking | REST service - Basic | |
HTTP client - Payload data binding | REST service - Basic | |
HTTP client - File upload | HTTP service - File upload | |
HTTP client - Header parameter | REST service - Header parameter | |
HTTP client - Mutual SSL | HTTP service - Mutual SSL | |
HTTP client - OAuth2 client credentials grant type | HTTP service - OAuth2 | |
HTTP client - OAuth2 JWT bearer grant type | HTTP service - OAuth2 | |
HTTP client - OAuth2 password grant type | HTTP service - OAuth2 | |
HTTP client - OAuth2 refresh token grant type | HTTP service - OAuth2 | |
HTTP client - Path parameter | REST service - Path parameter | |
HTTP client - Payload constraint validation | REST service - Payload data binding | |
HTTP client - Query parameter | REST service - Query parameter | |
HTTP client - Redirects | HTTP service - Redirects | |
HTTP client - Self signed JWT authentication | HTTP service - JWT authentication | |
HTTP client - Send request/Receive response | REST service - Basic | |
HTTP client - SSL/TLS | HTTP service - SSL/TLS | |
HTTP service - Compression | The client implementation is similar to the HTTP client - Header parameter . but we can't use it as we need to send different header value. We may create an example for the client-side configuration. https://central.ballerina.io/ballerina/http/latest#ClientConfiguration |
|
HTTP client - Cookies | HTTP service - Cookies | |
HTTP service - CORS (Cross-Origin Resource Sharing) | The client implementation is similar to the HTTP client - Header parameter . but we can't use it as we need to send different header values. |
|
HTTP client - Send request/Receive response | HTTP service - Error handling | |
HTTP service - Default resource | ||
HTTP client - Failover | REST service - Basic | |
HTTP client - Send request/Receive response | HTTP service - Interceptor error handling | |
HTTP client - Load balancer | REST service - Basic | |
HTTP service - Matrix parameter | @TharmiganK Do we support passing matrix params from the ballerina client? | |
Basic REST service | HTTP service - Passthrough | |
HTTP client - Send request/Receive response | HTTP service - Request interceptor | |
HTTP client - Send request/Receive response | HTTP service - Request/Response object | |
HTTP client - Request with multiparts | ||
HTTP client - Send request/Receive response | HTTP service - Response interceptor | |
HTTP service - Response with multiparts | ||
HTTP service - Restrict by media type | ||
HTTP client - Retry | REST service - Basic | |
HTTP client - Send request/Receive response | REST service - Send different status codes | |
HTTP client - Send request/Receive response | REST service - Send different status codes with payload | |
HTTP client - Send request/Receive response | HTTP service - Sending header | |
HTTP client - Payload data binding | REST service - Send response | |
REST service - Service and resource paths | This example demonstrates how to define service and resource paths. Hence, we don't need a client code. | |
HTTP client - Basic authentication | HTTP service - Basic authentication LDAP user store | |
HTTP service - Chunking | @TharmiganK Can the client example https://ballerina.io/learn/by-example/http-2-to-1-1-downgrade-client/ linked in this server example | |
HTTP client - Send request/Receive response | REST service - Payload data binding | |
HTTP client - Send request/Receive response | REST service - Payload constraint validation | |
HTTP client - Server-sent events | HTTP service - Server-sent events | |
HTTP client - Timeout | REST service - Basic | |
HTTP service - Trace logs | This is a pass-through service that calls the Basic service. The client is similar to the Basic client but can't be referred to because the service path is different |
Based on the offline discussion I had with Tharmi, we decided to,
HTTP service - 100 continue
and HTTP service - CORS (Cross-Origin Resource Sharing)
to use the HTTP client - Header parameter
with the specific header value. HTTP client - HTTP/2 to HTTP/1.1 downgrade
sample to HTTP service - Chunking
example.I will keep the issue open for next milestone to cater those changes
Description:
Add a info section to REST service - Payload constraint validation BBE to link https://ballerina.io/learn/by-example/http-client-payload-constraint-validation/ client example.
E.g. Something similar to https://ballerina.io/learn/by-example/http-basic-rest-service/
This is applicable for some more service and client BBEs. So check all such BBEs.
E.g. https://ballerina.io/learn/by-example/http-path-param/ and https://ballerina.io/learn/by-example/http-client-path-parameter/ https://ballerina.io/learn/by-example/http-query-parameter/ and https://ballerina.io/learn/by-example/http-client-query-parameter/