gun:head - Get headers of a resource representation


head(ConnPid, Path)
    -> head(ConnPid, Path, [], #{}).

head(ConnPid, Path, Headers)
    -> head(ConnPid, Path, Headers, #{})

head(ConnPid, Path, Headers, ReqOpts)
    -> StreamRef

ConnPid   :: pid()
Path      :: iodata()
Headers   :: [{binary(), iodata()}]
ReqOpts   :: gun:req_opts()
StreamRef :: reference()

Get headers of a resource representation.

This function performs the same operation as gun:get(3), except the server will not send the resource representation, only the response's status code and headers.

While servers are supposed to send the same headers as for a GET request, they sometimes will not. For example the content-length header may be dropped from the response.



The pid of the Gun connection process.


Path to the resource.


Additional request headers.


Request options.

Return value

A reference that identifies the newly created stream is returned. It is this reference that must be passed in subsequent calls and will be received in messages related to this new stream.


  • 1.0: Function introduced.


Get headers of a resource representation
StreamRef = gun:head(ConnPid, "/articles", [
    {<<"accept">>, <<"text/html;q=1.0, application/xml;q=0.1">>}
Get headers of a resource representation with request options
StreamRef = gun:head(ConnPid, "/articles", [], #{
    reply_to => ReplyToPid

See also

gun(3), gun:head(3), gun:await(3), gun_push(3), gun_inform(3), gun_response(3)

Gun 1.3 Function Reference


Version select

Like my work? Donate!

Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and is fantastic:

Recurring payment options are also available via GitHub Sponsors. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.