mirror of https://github.com/go-gitea/gitea.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.4 KiB
49 lines
1.4 KiB
// Copyright 2023 The Gitea Authors. All rights reserved. |
|
// SPDX-License-Identifier: MIT |
|
|
|
package misc |
|
|
|
import ( |
|
"net/http" |
|
"path" |
|
|
|
"code.gitea.io/gitea/modules/git" |
|
"code.gitea.io/gitea/modules/httpcache" |
|
"code.gitea.io/gitea/modules/log" |
|
"code.gitea.io/gitea/modules/setting" |
|
"code.gitea.io/gitea/modules/util" |
|
) |
|
|
|
func SSHInfo(rw http.ResponseWriter, req *http.Request) { |
|
if !git.SupportProcReceive { |
|
rw.WriteHeader(http.StatusNotFound) |
|
return |
|
} |
|
rw.Header().Set("content-type", "text/json;charset=UTF-8") |
|
_, err := rw.Write([]byte(`{"type":"gitea","version":1}`)) |
|
if err != nil { |
|
log.Error("fail to write result: err: %v", err) |
|
rw.WriteHeader(http.StatusInternalServerError) |
|
return |
|
} |
|
rw.WriteHeader(http.StatusOK) |
|
} |
|
|
|
func DummyOK(w http.ResponseWriter, req *http.Request) { |
|
w.WriteHeader(http.StatusOK) |
|
} |
|
|
|
func RobotsTxt(w http.ResponseWriter, req *http.Request) { |
|
robotsTxt := util.FilePathJoinAbs(setting.CustomPath, "public/robots.txt") |
|
if ok, _ := util.IsExist(robotsTxt); !ok { |
|
robotsTxt = util.FilePathJoinAbs(setting.CustomPath, "robots.txt") // the legacy "robots.txt" |
|
} |
|
httpcache.SetCacheControlInHeader(w.Header(), setting.StaticCacheTime) |
|
http.ServeFile(w, req, robotsTxt) |
|
} |
|
|
|
func StaticRedirect(target string) func(w http.ResponseWriter, req *http.Request) { |
|
return func(w http.ResponseWriter, req *http.Request) { |
|
http.Redirect(w, req, path.Join(setting.StaticURLPrefix, target), http.StatusMovedPermanently) |
|
} |
|
}
|
|
|