mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2025-10-24 11:02:42 +00:00
[BRANDING] add X-Forgejo-* headers
(cherry picked from commit0a3388f93f) (cherry picked from commit7eba0a440a) (cherry picked from commiteb9646c7ef) (cherry picked from commitf1972578f5) Conflicts: (cherry picked from commit7f96222fb4) (cherry picked from commite3c7c9fe7b) (cherry picked from commit84fdead902) (cherry picked from commit85148e1196) (cherry picked from commitc0086bd70d) (cherry picked from commitd1e31ef318) (cherry picked from commit681d3ed5c4) (cherry picked from commit76a3001f5b) (cherry picked from commita55a9567d3) (cherry picked from commitaa7adc167d) (cherry picked from commitd5354cb52c) (cherry picked from commit472c489996) (cherry picked from commitdc816d065b) (cherry picked from commit4795f9ea85) (cherry picked from commitddd4ae5343) (cherry picked from commit0e95f2a36b) (cherry picked from commit47a41a4e7b) (cherry picked from commitd4416fcd3e) (cherry picked from commitf279d153b6) (cherry picked from commit959f908ffd)
This commit is contained in:
parent
1deadb2f35
commit
82df953101
6 changed files with 25 additions and 2 deletions
|
|
@ -30,6 +30,7 @@ func SetCacheControlInHeader(h http.Header, maxAge time.Duration, additionalDire
|
|||
|
||||
// to remind users they are using non-prod setting.
|
||||
h.Set("X-Gitea-Debug", "RUN_MODE="+setting.RunMode)
|
||||
h.Set("X-Forgejo-Debug", "RUN_MODE="+setting.RunMode)
|
||||
}
|
||||
|
||||
h.Set("Cache-Control", strings.Join(append(directives, additionalDirectives...), ", "))
|
||||
|
|
|
|||
|
|
@ -18,6 +18,9 @@ func countFormalHeaders(h http.Header) (c int) {
|
|||
if strings.HasPrefix(k, "X-Gitea-") {
|
||||
continue
|
||||
}
|
||||
if strings.HasPrefix(k, "X-Forgejo-") {
|
||||
continue
|
||||
}
|
||||
c++
|
||||
}
|
||||
return c
|
||||
|
|
|
|||
|
|
@ -715,7 +715,7 @@ func Routes() *web.Route {
|
|||
// setting.CORSConfig.AllowSubdomain // FIXME: the cors middleware needs allowSubdomain option
|
||||
AllowedMethods: setting.CORSConfig.Methods,
|
||||
AllowCredentials: setting.CORSConfig.AllowCredentials,
|
||||
AllowedHeaders: append([]string{"Authorization", "X-Gitea-OTP"}, setting.CORSConfig.Headers...),
|
||||
AllowedHeaders: append([]string{"Authorization", "X-Gitea-OTP", "X-Forgejo-OTP"}, setting.CORSConfig.Headers...),
|
||||
MaxAge: int(setting.CORSConfig.MaxAge.Seconds()),
|
||||
}))
|
||||
}
|
||||
|
|
|
|||
|
|
@ -33,7 +33,10 @@ import (
|
|||
files_service "code.gitea.io/gitea/services/repository/files"
|
||||
)
|
||||
|
||||
const giteaObjectTypeHeader = "X-Gitea-Object-Type"
|
||||
const (
|
||||
giteaObjectTypeHeader = "X-Gitea-Object-Type"
|
||||
forgejoObjectTypeHeader = "X-Forgejo-Object-Type"
|
||||
)
|
||||
|
||||
// GetRawFile get a file by path on a repository
|
||||
func GetRawFile(ctx *context.APIContext) {
|
||||
|
|
@ -80,6 +83,7 @@ func GetRawFile(ctx *context.APIContext) {
|
|||
}
|
||||
|
||||
ctx.RespHeader().Set(giteaObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry)))
|
||||
ctx.RespHeader().Set(forgejoObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry)))
|
||||
|
||||
if err := common.ServeBlob(ctx.Base, ctx.Repo.TreePath, blob, lastModified); err != nil {
|
||||
ctx.Error(http.StatusInternalServerError, "ServeBlob", err)
|
||||
|
|
@ -129,6 +133,7 @@ func GetRawFileOrLFS(ctx *context.APIContext) {
|
|||
}
|
||||
|
||||
ctx.RespHeader().Set(giteaObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry)))
|
||||
ctx.RespHeader().Set(forgejoObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry)))
|
||||
|
||||
// LFS Pointer files are at most 1024 bytes - so any blob greater than 1024 bytes cannot be an LFS file
|
||||
if blob.Size() > 1024 {
|
||||
|
|
|
|||
|
|
@ -415,6 +415,16 @@ func generateAdditionalHeaders(ctx *mailCommentContext, reason string, recipient
|
|||
"X-Gitea-Issue-ID": strconv.FormatInt(ctx.Issue.Index, 10),
|
||||
"X-Gitea-Issue-Link": ctx.Issue.HTMLURL(),
|
||||
|
||||
"X-Forgejo-Reason": reason,
|
||||
"X-Forgejo-Sender": ctx.Doer.DisplayName(),
|
||||
"X-Forgejo-Recipient": recipient.DisplayName(),
|
||||
"X-Forgejo-Recipient-Address": recipient.Email,
|
||||
"X-Forgejo-Repository": repo.Name,
|
||||
"X-Forgejo-Repository-Path": repo.FullName(),
|
||||
"X-Forgejo-Repository-Link": repo.HTMLURL(),
|
||||
"X-Forgejo-Issue-ID": strconv.FormatInt(ctx.Issue.Index, 10),
|
||||
"X-Forgejo-Issue-Link": ctx.Issue.HTMLURL(),
|
||||
|
||||
"X-GitHub-Reason": reason,
|
||||
"X-GitHub-Sender": ctx.Doer.DisplayName(),
|
||||
"X-GitHub-Recipient": recipient.DisplayName(),
|
||||
|
|
|
|||
|
|
@ -123,6 +123,10 @@ func Deliver(ctx context.Context, t *webhook_model.HookTask) error {
|
|||
|
||||
event := t.EventType.Event()
|
||||
eventType := string(t.EventType)
|
||||
req.Header.Add("X-Forgejo-Delivery", t.UUID)
|
||||
req.Header.Add("X-Forgejo-Event", event)
|
||||
req.Header.Add("X-Forgejo-Event-Type", eventType)
|
||||
req.Header.Add("X-Forgejo-Signature", signatureSHA256)
|
||||
req.Header.Add("X-Gitea-Delivery", t.UUID)
|
||||
req.Header.Add("X-Gitea-Event", event)
|
||||
req.Header.Add("X-Gitea-Event-Type", eventType)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue