Skip to content
Snippets Groups Projects
Commit 925707ac authored by Matt Harbison's avatar Matt Harbison
Browse files

lfs: add the 'Authorization' property to the Batch API response, if present

The client copies all of these properties under 'header' to the HTTP Headers of
the subsequent GET or PUT request that it performs.  That allows the Basic HTTP
authentication used to authorize the Batch API request to also authorize the
upload/download action.

There's likely further work to do here.  There's an 'authenticated' boolean key
in the Batch API response that can be set, and there is an 'LFS-Authenticate'
header that is used instead of 'WWW-Authenticate'[1].  (We likely need to
support both, since some hosting solutions are likely to only respond with the
latter.)  In any event, this works with SCM Manager, so there is real world
benefit.

I'm limiting the headers returned to 'Basic', because that's all the lfs spec
calls out.  In practice, I've seen gitbucket emit custom header content[2].

[1] https://github.com/git-lfs/git-lfs/blob/master/docs/api/batch.md#response-errors
[2] https://github.com/gitbucket/gitbucket/blob/35655f33c7713f08515ed640ece0948acd6d6168/src/main/scala/gitbucket/core/servlet/GitRepositoryServlet.scala#L119
parent ab04972a
Branches
Tags
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment