How denizgursoy/inpu works
Inpu is a Go HTTP-client library. A caller configures a reusable client or creates a package-level request, builds method, URL, query, headers and optional body, then sends it through HTTP transport and handles the response by status. The runtime also supports retries, OAuth2, logging and OpenTelemetry middleware. The graph reflects the README and sampled files; several core implementations were not included, so uncertain internal wiring is omitted.
Main entry points: middleware.go Middleware chain · request.go Request builder · request_on.go Status dispatch · logger.go Logger interface
Components 21
Client and Requests
- Client setup
client.go - Request API
request.go - Request builder
request.go - Query and headers
headers.go - Body encoders
body.go
Execution Middleware
- Send request
request.go - HTTP transport
default_http_client.go - Middleware chain
middleware.go - Retry middleware
retry_middleware.go - OAuth2 credentials
middlewares/oauth2/client_credential.go
Response Handling
- Status dispatch
request_on.go - Status matchers
status_matchers.go - Response handlers
response_handlers.go
Logging and Observability
- Logging middleware
logging_middleware.go - OpenTelemetry
middlewares/otel/middleware.go - Logger interface
logger.go - Zap adapter
loggers/zap/logger.go - Zerolog adapter
loggers/zero/logger.go
Other components
- Application
- HTTP server
- OpenTelemetry SDK
Connections 23
- Application → Client setup: configures
- Application → Request API: starts request
- Client setup → Request builder: creates
- Request API → Request builder: creates
- Application → Request builder: sets options
- Request builder → Query and headers: adds parameters
- Request builder → Body encoders: encodes body
- Request builder → Send request: sends
- Send request → Middleware chain: dispatches through
- Middleware chain → HTTP transport: wraps transport
- Middleware chain → Retry middleware: applies
- Middleware chain → OAuth2 credentials: applies
- Middleware chain → Logging middleware: applies
- Middleware chain → OpenTelemetry: applies
- HTTP transport → HTTP server: sends HTTP
- HTTP server → Send request: returns response
- Send request → Status dispatch: dispatches response
- Status dispatch → Status matchers: checks status
- Status dispatch → Response handlers: runs handler
- Logging middleware → Logger interface: uses
- Zap adapter → Logger interface: implements
- Zerolog adapter → Logger interface: implements
- OpenTelemetry → OpenTelemetry SDK: records telemetry