23 lines
657 B
Go
23 lines
657 B
Go
package upload
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"gitlab.com/gitlab-org/gitlab/workhorse/internal/api"
|
|
)
|
|
|
|
// SkipRailsAuthorizer implements a fake PreAuthorizer that does not call
|
|
// the gitlab-rails API. It must be fast because it gets called on each
|
|
// request proxied to Rails.
|
|
type SkipRailsAuthorizer struct {
|
|
// TempPath is a directory where workhorse can store files that can later
|
|
// be accessed by gitlab-rails.
|
|
TempPath string
|
|
}
|
|
|
|
func (l *SkipRailsAuthorizer) PreAuthorizeHandler(next api.HandleFunc, _ string) http.Handler {
|
|
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
next(w, r, &api.Response{TempPath: l.TempPath})
|
|
})
|
|
}
|