Welcome to mirror list, hosted at ThFree Co, Russian Federation.

director.go « serverless « serving « internal - gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 4478b104d26acd8207eb3ab50f91fcfed7f117e4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package serverless

import (
	"net/http"

	"github.com/tomasen/realip"
)

// NewDirectorFunc returns a director function capable of configuring a proxy
// request
func NewDirectorFunc(function Function) func(*http.Request) {
	return func(request *http.Request) {
		host := function.Host()

		request.Host = host
		request.URL.Host = host
		request.URL.Scheme = "https"
		request.Header.Set("User-Agent", "GitLab Pages Daemon")
		request.Header.Set("X-Forwarded-For", realip.FromRequest(request))
		request.Header.Set("X-Forwarded-Proto", "https")
	}
}