How to make http requests to unix socket?
    Sebastiaan Koppe via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Aug 12 11:41:14 PDT 2017
    
    
  
On Friday, 11 August 2017 at 18:39:54 UTC, dvnguyen wrote:
> How to make http requests to unix socket? For example, in 
> Docker engine api,
>
> curl --unix-socket /var/run/docker.sock 
> http:/v1.24/containers/json
I made a pull request a year ago or so to have vibe-d's 
requestHttp to support unix sockets. Call it like this 
`requestHTTP("https+unix://%2Fvar%2Frun%2Fdocker.sock/containers/create`.
You will need to set some vibe-d tls things to accept the 
connection.
Sönke just upgraded vibe-core/event-core to support it as well if 
I remember it correctly (so you can also use vibe 8.x with 
vibe-core).
As for endpoints which return streams (like 
containers/"~id~"/logs?stdout=1&stderr=1&follow=1), Docker 
multiplexes stdout/stderr over http with chunked 
transfer-encoding.
The protocol is a 8 byte Header + Frame. The last four bytes in 
the Header is an uint32 representing the frame size. The first 
byte is either 1 -> stdout or 2 -> stderr, which designates the 
type of the stream in the following frame.
    
    
More information about the Digitalmars-d-learn
mailing list