Skip to content

Web ​

Serve and call HTTP, REST, SOAP, WebSocket and webhooks.

NeedPlugins
Serve HTTPHttp listener, Http response
Build a REST APIRest handler behind an Http listener
Serve SOAPSOAP handler behind an Http listener
Call APIsHttp client
Authenticate callersHttp authentication, JWT issuer, JWT validator
Receive or send webhooksWebhook receiver, Webhook sender
Talk WebSocketWeb socket listener, Web socket response, Web socket client
text
Http listener → Rest handler → ... your logic → Http response

The Rest handler publishes an OpenAPI document, and the webhook plugins generate client and receiver code with Connect an app.

Plugins ​

PluginWhat it doesPins
Http authenticationReads the credentials of a request received by an Http listener and passes them on, so the next components can check them. It does not verify anything itself: connect Output to the component that checks the credentials (a database lookup, a file, a Script, a JWT validator) and raises an error to reject the request. Connect Input to the listener's Authentificate pin; when this component or one after it raises an error, the listener answers 401 and the request never reaches the listener's Output pin.Input, Output
Http clientSends an HTTP request to a remote server and emits the response as a WebHttpResponse. Use it to call REST APIs, download files or post forms. The request is built from the configuration, optionally overridden by a WebHttpRequest on the input.Input, Output
Http listenerEmbedded web server: listens on a port and path, emits every incoming request as a WebHttpRequest and sends the response it receives back on its Input pin (or from an Http response component). Use it to expose a flow as an HTTP endpoint.Start, Output, Input, Authentificate
Http responseSends the HTTP response for a request received by an Http listener. Place it at the end of the request branch; it finds the waiting request through the flow metadata, so it must run in the same branch that started at the listener.Input, Continue
JWT issuerCreates a signed JSON Web Token for a user, and optionally a refresh token. Use it in a login endpoint after the user's credentials have been checked; the JWT validator with the matching key accepts the token later.Input, Output
JWT validatorValidates a JSON Web Token: from Http authentication (type 2 JWT, or Bearer), or a token sent as a TextRecord. It checks the signature with a shared secret, a public key or the keys of an OpenID Connect provider (Entra ID, Auth0, Keycloak, ...), then the lifetime, issuer, audience and required claims, and puts the claims into the flow metadata. An invalid token raises an error that the Http listener answers with 401 (403 for a missing required claim).Input, Output
Rest handlerHandles one REST operation (method + route) behind an Http listener: it accepts only matching requests, extracts route, query and body parameters into a typed record and emits it. Connect several Rest handlers to the same listener Output pin, one per operation; each request goes to the handler(s) whose route matches. It also serves an OpenAPI (swagger.json) document for all Rest handlers of the flow.Input, Output, Validate
SOAP handlerAnswers one SOAP operation behind an Http listener: it reads the request envelope (SOAP 1.1 or 1.2, document/literal wrapped) into a typed record, emits it, and sends what the flow returns to its Response pin back as the SOAP response, or a SOAP fault. Connect one SOAP handler per operation to the same listener Output pin; together they are one SOAP service, and they serve its WSDL at ?wsdl.Input, Output, Validate, Response
Web socket clientConnects to a remote WebSocket server, sends every input record as a message and emits every message received from the server. One connection per component, kept open while the flow runs.Input, Output, Start, OnConnect
Web socket listenerEmbedded WebSocket server: accepts WebSocket connections on a port and path, emits every received message and sends messages back to a connected client. Use it for push or chat style endpoints; reply with the listener's Input pin or a Web socket response component.Start, Output, Input, Authenticate
Web socket responseSends a message back to the client connection that delivered the current message to a Web socket listener. The connection is taken from the WebSocketListener metadata, so place it in the branch that starts at the listener Output pin.Input, Continue
Webhook receiverReceives webhooks (HTTP callbacks other systems send when something happens). Place it right after an Http listener (on its Output pin). The listener owns the URL, port and TLS; this component does the webhook specific work: answers URL checks, checks the signature, drops repeated deliveries and answers the sender quickly.Input, Output, Rejected
Webhook senderTurns any record into a signed webhook request. Connect its Output to an Http client, which does the actual sending (auth, TLS, client certificates, timeouts). The signature formats are the same ones the Webhook receiver checks, so a Viaducta flow can send to another one.Input, Output

Viaducta documentation