HTTP.jl get fails with 404 - Postman counterpart works

Hello people,

I have an issue with the HTTP.jl package.

I am trying to access Firestore REST API.

This is my URL: https://firestore.googleapis.com/v1/projects/my-project/databases/(default)/documents/

The only stated requirement for this to work is to add the Authorization header with the value “Bearer idToken…”.

Now, all works well when using the Postman with the GET method and the header above (200).

However, Julia’s (HTTP.jl) counterpart returns 404.

HTTP.get("https://firestore.googleapis.com/v1/projects/my-project/databases/(default)/documents/", headers = Dict("Authorization" => "Bearer $token"))

I have already attempted various Postman experiments (drop the header, drop multiple headers, etc.)

Removing the Host header is the only thing that results in 404 in Postman. But again - for the working configuration, it seems that I am doing the same thing in Julia as in Postman - however, HTTP.jl returns 404 while Postman succeeds.

Any ideas on how to properly debug this? Or is there something I should know about the HTTP.jl package that causes such behavior?

I would pass HTTP.get(...; verbose=2) to see debug logs of exactly what the request is being sent.

Thanks, @quinnj .

After looking at the explicit request content, all seems right with the HTTP.jl - I also tested the same request using Python and F# and got the same result. Still weird that Postman works - but at least now I know that I need to look at what Postman is doing differently.

Thanks for the help.