Custom Connector
Httpbin Connector
Global
The Httpbin Connector enables seamless integration with the Httpbin API — a simple HTTP Request & Response service for testing HTTP client implementations on GCP. It acts as a proxy across a wide range of endpoints for testing request/response cycles, authentication, cookies, redirects, status codes, and content encoding.
Overview
Integration Overview
This document groups the connector’s ~76 endpoints by area: HTTP-method echoes (GET/POST/PUT/PATCH/DELETE), authentication, cookies, redirects, status codes, response inspection, content formats, and encoding/streaming.
- HTTP method echoes. getRequest / postRequest / putRequest / patchRequest / deleteRequest and the /anything variants echo request data.
- Authentication. basicAuth, bearerAuth, digestAuth (+ algorithm, stale), and hiddenBasicAuth.
- Cookies. getCookies, setCookies, setCookie, and deleteCookies.
- Redirects. redirect, relativeRedirect, absoluteRedirect, and per-method redirectTo.
- Status codes. getStatus / postStatus / putStatus / patchStatus / deleteStatus.
- Response inspection. getIp, getHeaders, getUserAgent, getResponseHeaders, getUuid, getBase64.
- Content formats. getJson, getHtml, getXml, getUtf8, getRobotsTxt, getDeny, getLinks, and images (PNG/JPEG/SVG/WEBP).
- Encoding, caching & streaming. getGzip, getDeflate, getBrotli, getCache/setCacheControl, getEtag, getDelay, getDrip, getBytes/getRange, getStream/getStreamBytes.
Documentation
Detailed Integration Documentation
HTTP Method Echoes
| Actions | getRequest / postRequest / putRequest / patchRequest / deleteRequest · get/post/put/patch/deleteAnything (+ WithPath) |
|---|---|
| Purpose | Echoes back the request — query parameters, headers, origin IP, URL, and (for write methods) the JSON body. The /anything variants accept any path. |
| Configuration | Ensure the connector is configured with the base URL. |
| Parameters | Optional: anything (path) for the WithPath variants; show_env=1 (getRequest). Write methods accept an application/json body. |
| Output | Successful (200): JSON with request details and body. Failure: 400. |
| Workflow example | Execute postAnything with a JSON body and verify the echoed data for request-handling tests. |
Authentication
| Actions | basicAuth / bearerAuth / digestAuth / digestAuthWithAlgorithm / digestAuthWithStale / hiddenBasicAuth |
|---|---|
| Purpose | Tests HTTP Basic, Bearer, and Digest authentication (with algorithm and stale-nonce variants), plus hidden Basic auth (404 instead of 401). |
| Configuration | Provide credentials via Basic/Bearer/Digest headers. |
| Parameters | Required: user + passwd (Basic/Digest); qop (Digest: auth/auth-int); algorithm (MD5/SHA-256/SHA-512); stale_after. Bearer uses the Authorization header. |
| Output | Successful (200): {authenticated: true, user/token}. Failure (401/404): {authenticated: false}. |
| Workflow example | Execute basicAuth with user=testuser and passwd=testpass to verify authentication. |
Cookies
| Actions | getCookies / setCookies / setCookie / deleteCookies |
|---|---|
| Purpose | Retrieves cookie data, sets cookies from the query string or a single named cookie, and deletes cookies — redirecting to /cookies. |
| Configuration | Ensure the connector is configured with the base URL. |
| Parameters | Required (setCookie): name + value. Optional: cookies object (set/delete). |
| Output | Successful: {cookies: object}, or 302 redirect to /cookies with Set-Cookie. Failure: 400. |
| Workflow example | Execute setCookie with name=session and value=abc123, then follow the redirect to verify. |
Redirects
| Actions | redirect / relativeRedirect / absoluteRedirect / getRedirectTo (+ post/put/patch/deleteRedirectTo) |
|---|---|
| Purpose | Performs N 302 redirects (absolute or relative), and redirects to a specified URL with an optional status code, per HTTP method. |
| Configuration | Ensure the connector is configured with the base URL. |
| Parameters | Required: n (redirect count) or url (target). Optional: status_code (301/302/303/307/308, default 302). |
| Output | Successful (301–308): redirect with Location header. |
| Workflow example | Execute getRedirectTo with url=https://example.com to verify redirect handling. |
Status Codes
| Actions | getStatus / postStatus / putStatus / patchStatus / deleteStatus |
|---|---|
| Purpose | Returns a specified (or random from a list) HTTP status code for each method — for testing error handling. |
| Configuration | Ensure the connector is configured with the base URL. |
| Parameters | Required: codes (e.g. 404 or 200,404,500). |
| Output | Successful: the specified status code with a text body. |
| Workflow example | Execute getStatus with codes=404 to verify 404 handling. |
Response Inspection
| Actions | getIp / getHeaders / getUserAgent / getResponseHeaders (+ post) / getUuid / getBase64 |
|---|---|
| Purpose | Retrieves the client IP, request headers, and User-Agent; returns custom response headers; generates a UUID4; and decodes a base64url string. |
| Configuration | Ensure the connector is configured with the base URL. |
| Parameters | Optional: headers object (response headers); value (base64 string). |
| Output | Successful (200): {origin}, {headers}, {user-agent}, {uuid}, or decoded text. Failure: 400. |
| Workflow example | Execute getBase64 with value=SGVsbG8= to verify the decoded result (Hello). |
Content Formats
| Actions | getJson / getHtml / getXml / getUtf8 / getRobotsTxt / getDeny / getLinks · getImage / getPngImage / getJpegImage / getSvgImage / getWebpImage |
|---|---|
| Purpose | Returns documents in various formats (JSON, HTML, XML, UTF-8, robots.txt), a robots-denied page, a links page, and images by type or Accept header. |
| Configuration | Ensure the connector is configured with the base URL. |
| Parameters | Optional: n + offset (getLinks); Accept header (getImage). |
| Output | Successful (200): the requested content type (application/json, text/html, image/*, etc.). Failure: 403 (getDeny). |
| Workflow example | Execute getImage with Accept: image/png, or getPngImage directly, to verify image handling. |
Encoding, Caching & Streaming
| Actions | getGzip / getDeflate / getBrotli · getCache / setCacheControl / getEtag · getDelay / getDrip · getBytes / getRange / getStreamBytes / getStream |
|---|---|
| Purpose | Returns compressed content (GZip/Deflate/Brotli); tests caching (Cache-Control, ETag, 304); returns delayed and dripped responses; and generates or streams random bytes and JSON. |
| Configuration | Ensure the connector is configured with the base URL. |
| Parameters | Optional/required: delay (0–10s); value (cache seconds / etag); n or numbytes; seed; chunk_size; duration; code. |
| Output | Successful (200): encoded content, cacheable responses (or 304), delayed/streamed bytes, or a streamed JSON array. Failure: 400. |
| Workflow example | Execute getDelay with delay=5 for timeout testing, or getStreamBytes with n=1000 for streaming. |
Example Workflow: Comprehensive HTTP Client Testing
| Client identification | Use getIp and getUserAgent to log client details. |
|---|---|
| Requests & auth | Exercise the method echoes and basic/bearer/digest auth actions. |
| Cookies & redirects | Use set/get/deleteCookies and the redirect actions to verify chains and status codes. |
| Content & encoding | Use getJson/getHtml/getXml, images, and getGzip/Deflate/Brotli plus streaming for full coverage. |
Support
For technical support, contact custom-connectors-support@isolutions.sa.