How ngawidev/nethttp works
NetHttp is a fluent PHP HTTP client: callers configure a Client, build a Request, send it to an HTTP service, then consume a parsed Response. Client owns execution and cURL configuration; Request holds method, URL, headers, body, and per-request options. Separate documented branches cover concurrent/async execution and browser mimicry. README capabilities are represented, but some details (including middleware, logging, and retry internals) are based on documentation because their implementations were not sampled.
Main entry points: Client.php Client · Request.php Request builder · Promise.php Promise · Response.php Response value
Components 15
Client configuration
- Client
src/Client.php - Browser profiles
src/BrowserProfile.php - Proxy settings
src/Proxy.php - Cookie settings
src/Cookie.php - Middleware and logs
src/Client.php
Request and transport
- Request builder
src/Request.php - cURL execution
src/Client.php - Request errors
src/Exception/RequestException.php
Response handling
- Response value
src/Response.php - File download
src/Client.php
Concurrent execution
- Promise
src/Promise.php - Promise pool
src/PromisePool.php - Concurrent requests
src/Client.php
Other components
- PHP caller
- HTTP service
Connections 24
- PHP caller → Client: creates
- Client → Browser profiles: generates profile
- Client → Proxy settings: configures
- Client → Cookie settings: configures
- PHP caller → Request builder: builds request
- Client → Request builder: creates
- Request builder → Promise: creates async handle
- Request builder → Client: sends through
- Client → Middleware and logs: uses hooks and logs
- Client → cURL execution: executes request
- cURL execution → HTTP service: sends HTTP
- HTTP service → cURL execution: returns data
- cURL execution → Response value: builds
- cURL execution → Request errors: raises errors
- cURL execution → File download: writes response
- PHP caller → Response value: reads result
- Promise → Client: awaits request
- Promise → Response value: resolves with
- Client → Concurrent requests: runs pool
- Concurrent requests → HTTP service: sends concurrently
- Concurrent requests → Response value: builds results
- Promise pool → Promise: collects
- Promise pool → Concurrent requests: executes concurrently
- PHP caller → Promise pool: awaits async pool