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

gitlab.com/gitlab-org/gitlab-pages.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app.go8
-rw-r--r--app_config.go14
-rw-r--r--main.go6
-rw-r--r--server.go8
4 files changed, 19 insertions, 17 deletions
diff --git a/app.go b/app.go
index a3fc8335..ebc0f578 100644
--- a/app.go
+++ b/app.go
@@ -44,7 +44,7 @@ func (a *theApp) serveContent(ww http.ResponseWriter, r *http.Request, https boo
defer w.Log(r)
// Add auto redirect
- if https && !*serverHTTP {
+ if https && !a.RedirectHTTP {
u := *r.URL
u.Scheme = "https"
u.Host = r.Host
@@ -89,7 +89,7 @@ func (a *theApp) Run() {
wg.Add(1)
go func() {
defer wg.Done()
- err := listenAndServe(a.ListenHTTP, a.ServeHTTP, nil)
+ err := listenAndServe(a.ListenHTTP, a.ServeHTTP, a.HTTP2, nil)
if err != nil {
log.Fatal(err)
}
@@ -101,7 +101,7 @@ func (a *theApp) Run() {
wg.Add(1)
go func() {
defer wg.Done()
- err := listenAndServeTLS(a.ListenHTTPS, a.RootCertificate, a.RootKey, a.ServeHTTP, a.ServeTLS)
+ err := listenAndServeTLS(a.ListenHTTPS, a.RootCertificate, a.RootKey, a.ServeHTTP, a.ServeTLS, a.HTTP2)
if err != nil {
log.Fatal(err)
}
@@ -113,7 +113,7 @@ func (a *theApp) Run() {
wg.Add(1)
go func() {
defer wg.Done()
- err := listenAndServe(a.listenProxy, a.ServeProxy, nil)
+ err := listenAndServe(a.listenProxy, a.ServeProxy, a.HTTP2, nil)
if err != nil {
log.Fatal(err)
}
diff --git a/app_config.go b/app_config.go
index d007ca39..6c96a59b 100644
--- a/app_config.go
+++ b/app_config.go
@@ -1,16 +1,16 @@
package main
type appConfig struct {
- Domain string
- RootDir string
+ Domain string
+ RootDir string
RootCertificate []byte
RootKey []byte
- ListenHTTP uintptr
- ListenHTTPS uintptr
- listenProxy uintptr
+ ListenHTTP uintptr
+ ListenHTTPS uintptr
+ listenProxy uintptr
- HTTP2 bool
- ServeHTTP bool
+ HTTP2 bool
+ RedirectHTTP bool
}
diff --git a/main.go b/main.go
index 5799f380..05d2654d 100644
--- a/main.go
+++ b/main.go
@@ -16,8 +16,6 @@ var VERSION = "dev"
var REVISION = "HEAD"
var pagesDomain = flag.String("pages-domain", "gitlab-example.com", "The domain to serve static pages")
-var serverHTTP = flag.Bool("serve-http", true, "Serve the pages under HTTP")
-var http2proto = flag.Bool("http2", true, "Enable HTTP2 support")
var pagesRoot = flag.String("pages-root", "shared/pages", "The directory where pages are stored")
func evalSymlinks(directory string) (result string) {
@@ -57,6 +55,8 @@ func main() {
var listenProxy = flag.String("listen-proxy", "", "The address to listen for proxy requests")
var pagesRootCert = flag.String("root-cert", "", "The default path to file certificate to serve static pages")
var pagesRootKey = flag.String("root-key", "", "The default path to file certificate to serve static pages")
+ var redirectHTTP = flag.Bool("redirect-http", true, "Serve the pages under HTTP")
+ var useHTTP2 = flag.Bool("use-http2", true, "Enable HTTP2 support")
fmt.Printf("GitLab Pages Daemon %s (%s)", VERSION, REVISION)
fmt.Printf("URL: https://gitlab.com/gitlab-org/gitlab-pages")
@@ -66,6 +66,8 @@ func main() {
app.Domain = *pagesDomain
app.RootDir = evalSymlinks(*pagesRoot)
+ app.RedirectHTTP = *redirectHTTP
+ app.HTTP2 = *useHTTP2
if *pagesRootCert != "" {
app.RootCertificate = readFile(*pagesRootCert)
diff --git a/server.go b/server.go
index f3408f25..3f267b65 100644
--- a/server.go
+++ b/server.go
@@ -26,11 +26,11 @@ func (ln tcpKeepAliveListener) Accept() (c net.Conn, err error) {
return tc, nil
}
-func listenAndServe(fd uintptr, handler http.HandlerFunc, tlsConfig *tls.Config) error {
+func listenAndServe(fd uintptr, handler http.HandlerFunc, useHTTP2 bool, tlsConfig *tls.Config) error {
// create server
server := &http.Server{Handler: handler, TLSConfig: tlsConfig}
- if *http2proto {
+ if useHTTP2 {
err := http2.ConfigureServer(server, &http2.Server{})
if err != nil {
return err
@@ -50,7 +50,7 @@ func listenAndServe(fd uintptr, handler http.HandlerFunc, tlsConfig *tls.Config)
}
}
-func listenAndServeTLS(fd uintptr, cert, key []byte, handler http.HandlerFunc, tlsHandler tlsHandlerFunc) error {
+func listenAndServeTLS(fd uintptr, cert, key []byte, handler http.HandlerFunc,tlsHandler tlsHandlerFunc, useHTTP2 bool) error {
certificate, err := tls.X509KeyPair(cert, key)
if err != nil {
return err
@@ -64,5 +64,5 @@ func listenAndServeTLS(fd uintptr, cert, key []byte, handler http.HandlerFunc, t
tlsConfig.Certificates = []tls.Certificate{
certificate,
}
- return listenAndServe(fd, handler, tlsConfig)
+ return listenAndServe(fd, handler, useHTTP2, tlsConfig)
}