JuliaWeb/HTTP.jl

Support for domain sockets

Closed

#607 opened on Oct 27, 2020

 (2 comments) (0 reactions) (0 assignees)Julia (182 forks)batch import
enhancementhelp wanted

Repository metrics

Stars
 (679 stars)
PR merge metrics
 (Avg merge 2d 5h) (40 merged PRs in 30d)

Description

I was trying to communicate with a local domain socket that accepts HTTP, which I'm currently doing like so:

docker = connect("/var/run/docker.sock")
write(docker, """
    GET /info HTTP/1.1
    Host: localhost
    Accept: application/json


    """)
@show read(docker, String)
close(docker)

That doesn't really work with HTTP.jl right now, the connection layer doesn't support these sockets, and there isn't a way to separate the path to the socket from the path to request. One interesting approach by https://github.com/msabramo/requests-unixsocket is using the following URI format: http+unix://%2Fvar%2Frun%2Fdocker.sock/info.

Contributor guide