How krishna4a6av/httpformtcp works
HTTP from TCP is a minimal HTTP/1.1 server implemented on raw TCP. Its main workflow accepts a connection, parses a request, dispatches by target to a response handler, and writes the response; routes also serve local media or proxy upstream content. The graph reflects the sampled implementation. The README names the learning listener and UDP sender, but describes them as separate command programs; the UDP sender is not part of the HTTP request workflow.
Main entry points: main.go HTTP server command · server.go TCP server · response.go Response writer · media.go Media handlers
Components 16
HTTP runtime
- HTTP server command
cmd/httpserver/main.go - TCP server
internal/server/server.go
HTTP protocol
- Request reader
internal/request/requestFromReader.go - Request parser
internal/request/request.go - Header parser
internal/headers/headers.go - Response writer
internal/response/response.go - Response defaults
internal/response/default.go
Request routes
- HTML responses
cmd/httpserver/main.go - Media handlers
cmd/httpserver/media.go - Local media files
- HTTP proxy
cmd/httpserver/proxy.go
Learning commands
- TCP learning listener
cmd/tcplistener/main.go - UDP sender
cmd/udpsender/main.go
Other components
- HTTP client
- httpbingo upstream
- UDP destination
Connections 21
- HTTP client → TCP server: opens TCP connection
- HTTP server command → TCP server: starts server
- TCP server → Request reader: reads request
- Request reader → Request parser: parses bytes
- Request parser → Header parser: parses fields
- TCP server → HTTP server command: dispatches request
- HTTP server command → HTML responses: handles default routes
- HTTP server command → Media handlers: routes media
- Media handlers → Local media files: reads files
- HTTP server command → HTTP proxy: routes proxy requests
- HTTP proxy → httpbingo upstream: fetches response
- HTTP server command → Response writer: writes responses
- HTML responses → Response writer: writes HTML
- Media handlers → Response writer: writes media
- HTTP proxy → Response writer: streams chunks
- TCP server → Response writer: writes errors
- HTML responses → Response defaults: gets headers
- Media handlers → Response defaults: gets headers
- HTTP proxy → Response defaults: gets proxy headers
- TCP learning listener → Request reader: parses requests
- UDP sender → UDP destination: sends datagrams