- // +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"
- "net/http"
-
- "code.gitea.io/gitea/modules/log"
-
- "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("Failed to load https cert file %s: %v", listenAddr, err)
- }
-
- return gracehttp.Serve(&http.Server{
- Addr: listenAddr,
- Handler: m,
- TLSConfig: config,
- })
- }
|