Fix windows build broken by #416tags/v1.2.0-rc1
@@ -5,7 +5,6 @@ | |||||
package cmd | package cmd | ||||
import ( | import ( | ||||
"crypto/tls" | |||||
"fmt" | "fmt" | ||||
"net" | "net" | ||||
"net/http" | "net/http" | ||||
@@ -31,7 +30,6 @@ import ( | |||||
"code.gitea.io/gitea/routers/repo" | "code.gitea.io/gitea/routers/repo" | ||||
"code.gitea.io/gitea/routers/user" | "code.gitea.io/gitea/routers/user" | ||||
"github.com/facebookgo/grace/gracehttp" | |||||
"github.com/go-macaron/binding" | "github.com/go-macaron/binding" | ||||
"github.com/go-macaron/cache" | "github.com/go-macaron/cache" | ||||
"github.com/go-macaron/captcha" | "github.com/go-macaron/captcha" | ||||
@@ -616,29 +614,9 @@ func runWeb(ctx *cli.Context) error { | |||||
var err error | var err error | ||||
switch setting.Protocol { | switch setting.Protocol { | ||||
case setting.HTTP: | case setting.HTTP: | ||||
err = gracehttp.Serve(&http.Server{ | |||||
Addr: listenAddr, | |||||
Handler: m, | |||||
}) | |||||
err = runHTTP(listenAddr, m) | |||||
case setting.HTTPS: | case setting.HTTPS: | ||||
config := &tls.Config{ | |||||
MinVersion: tls.VersionTLS10, | |||||
} | |||||
if config.NextProtos == nil { | |||||
config.NextProtos = []string{"http/1.1"} | |||||
} | |||||
config.Certificates = make([]tls.Certificate, 1) | |||||
config.Certificates[0], err = tls.LoadX509KeyPair(setting.CertFile, setting.KeyFile) | |||||
if err != nil { | |||||
log.Fatal(4, "Failed to load https cert file %s: %v", listenAddr, err) | |||||
} | |||||
err = gracehttp.Serve(&http.Server{ | |||||
Addr: listenAddr, | |||||
Handler: m, | |||||
TLSConfig: config, | |||||
}) | |||||
err = runHTTPS(listenAddr, setting.CertFile, setting.KeyFile, m) | |||||
case setting.FCGI: | case setting.FCGI: | ||||
err = fcgi.Serve(nil, m) | err = fcgi.Serve(nil, m) | ||||
case setting.UnixSocket: | case setting.UnixSocket: | ||||
@@ -0,0 +1,44 @@ | |||||
// +build !windows | |||||
// Copyright 2016 The Gitea Authors. All rights reserved. | |||||
// Use of this source code is governed by a MIT-style | |||||
// license that can be found in the LICENSE file. | |||||
package cmd | |||||
import ( | |||||
"crypto/tls" | |||||
"log" | |||||
"net/http" | |||||
"github.com/facebookgo/grace/gracehttp" | |||||
) | |||||
func runHTTP(listenAddr string, m http.Handler) error { | |||||
return gracehttp.Serve(&http.Server{ | |||||
Addr: listenAddr, | |||||
Handler: m, | |||||
}) | |||||
} | |||||
func runHTTPS(listenAddr, certFile, keyFile string, m http.Handler) error { | |||||
config := &tls.Config{ | |||||
MinVersion: tls.VersionTLS10, | |||||
} | |||||
if config.NextProtos == nil { | |||||
config.NextProtos = []string{"http/1.1"} | |||||
} | |||||
config.Certificates = make([]tls.Certificate, 1) | |||||
var err error | |||||
config.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile) | |||||
if err != nil { | |||||
log.Fatal(4, "Failed to load https cert file %s: %v", listenAddr, err) | |||||
} | |||||
return gracehttp.Serve(&http.Server{ | |||||
Addr: listenAddr, | |||||
Handler: m, | |||||
TLSConfig: config, | |||||
}) | |||||
} |
@@ -0,0 +1,19 @@ | |||||
// +build windows | |||||
// Copyright 2016 The Gitea Authors. All rights reserved. | |||||
// Use of this source code is governed by a MIT-style | |||||
// license that can be found in the LICENSE file. | |||||
package cmd | |||||
import ( | |||||
"net/http" | |||||
) | |||||
func runHTTP(listenAddr string, m http.Handler) error { | |||||
return http.ListenAndServe(listenAddr, m) | |||||
} | |||||
func runHTTPS(listenAddr, certFile, keyFile string, m http.Handler) error { | |||||
return http.ListenAndServeTLS(listenAddr, certFile, keyFile, m) | |||||
} |