https://¶
HTTPS client — TLS-wrapped variant of http://. Same
Endpoint type, same URI surface, same body and header semantics; the
only difference is the scheme tells the component to build URLs with
https://, so the underlying net/http.Client performs a TLS
handshake against the standard system trust store.
URI shape¶
port is optional (defaults to whatever the target serves — 443 in
practice; the component just hands the URL to net/http).
Parameters¶
Identical to http://:
| Param | Type | Default | Side | Description |
|---|---|---|---|---|
host:port/path |
path | — | producer | Target URL (without the scheme). |
method |
string | GET |
producer | HTTP method. Overridable via HelixHttpMethod header. |
timeout |
duration | 30s |
producer | Per-request timeout. |
Body shape¶
Same as http://. The In body is sent as the request body
(bytes / string / Sprintf fallback / streaming); the response replaces
it.
Headers¶
Identical to http://. Notable headers:
| Header | Direction | Description |
|---|---|---|
HelixHttpMethod |
request | Override the URI's method. |
HelixHttpPath |
request | Appended to the URI's path (sanitised). |
HelixHttpQuery |
request | Raw query string appended to the URL. |
HelixHttpResponseCode |
response | HTTP status code (int). |
Content-Type |
response | Response Content-Type. |
TLS configuration¶
https:// uses the default net/http.Client with system-trust
verification. For control beyond that, drop a *http.Client with a
custom Transport.TLSClientConfig into the component at startup, or
use the streaming producer (NewStreamingHTTPProducer) which calls
SetClient.
For server-side TLS (terminating HTTPS), see
http-server://, which exposes tlsCert /
tlsKey / tlsCA URI parameters.
Error semantics¶
Identical to http://:
- TLS handshake failure →
HTTP:CONNECTIVITY. - 4xx/5xx → typed
helixerrors.HTTPError(status, preview). - 2xx/3xx → no error.
Examples¶
A TLS GET:
POST JSON with override headers:
- setHeader:
name: Content-Type
constant: application/json
- to: https://api.example.com/v1/orders?method=POST&timeout=10s
Inside do-catch for typed error handling:
- doTry:
steps:
- to: https://api.example.com/v1/orders/{id}
doCatch:
- errors: ["HTTP:NOT_FOUND"]
steps:
- to: log://order-not-found?level=warn
Behavior notes¶
Inherits every behavior note from http://: no client
Timeout, HelixHttpPath sanitisation, 100 MB response cap, Helix*
headers stripped before send.
Source¶
pkg/component/http/http.go—NewHTTPS()returns aComponentwithscheme = "https". The Endpoint, Producer, request logic, and parameters are the same ashttp://.pkg/component/http/streaming.go— streaming variant.
See also¶
- HTTP variant:
http:// - Server-side HTTPS termination:
http-server://(withtlsCert/tlsKey).