JuliaWeb/HTTP.jl

Support for domain sockets

Open

#607 opened on Oct 27, 2020

View on GitHub
 (2 comments) (0 reactions) (0 assignees)Julia (679 stars) (182 forks)batch import
enhancementhelp wanted

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