Skip to content

Commit fd24503

Browse files
earl-warrenLoïc Dachary
authored andcommitted
[BRANDING] add X-Forgejo-* headers
(cherry picked from commit de86c5e6ef57cf8fb9dd36abe1d83d3ade4cb12f)
1 parent b032259 commit fd24503

File tree

6 files changed

+25
-2
lines changed

6 files changed

+25
-2
lines changed

modules/httpcache/httpcache.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ func AddCacheControlToHeader(h http.Header, maxAge time.Duration, additionalDire
3131

3232
// to remind users they are using non-prod setting.
3333
h.Add("X-Gitea-Debug", "RUN_MODE="+setting.RunMode)
34+
h.Add("X-Forgejo-Debug", "RUN_MODE="+setting.RunMode)
3435
}
3536

3637
h.Set("Cache-Control", strings.Join(append(directives, additionalDirectives...), ", "))

modules/httpcache/httpcache_test.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ func countFormalHeaders(h http.Header) (c int) {
3030
if strings.HasPrefix(k, "X-Gitea-") {
3131
continue
3232
}
33+
if strings.HasPrefix(k, "X-Forgejo-") {
34+
continue
35+
}
3336
c++
3437
}
3538
return c

routers/api/v1/api.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -611,7 +611,7 @@ func Routes(ctx gocontext.Context) *web.Route {
611611
// setting.CORSConfig.AllowSubdomain // FIXME: the cors middleware needs allowSubdomain option
612612
AllowedMethods: setting.CORSConfig.Methods,
613613
AllowCredentials: setting.CORSConfig.AllowCredentials,
614-
AllowedHeaders: []string{"Authorization", "X-Gitea-OTP"},
614+
AllowedHeaders: []string{"Authorization", "X-Gitea-OTP", "X-Forgejo-OTP"},
615615
MaxAge: int(setting.CORSConfig.MaxAge.Seconds()),
616616
}))
617617
}

routers/api/v1/repo/file.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,10 @@ import (
3333
files_service "code.gitea.io/gitea/services/repository/files"
3434
)
3535

36-
const giteaObjectTypeHeader = "X-Gitea-Object-Type"
36+
const (
37+
giteaObjectTypeHeader = "X-Gitea-Object-Type"
38+
forgejoObjectTypeHeader = "X-Forgejo-Object-Type"
39+
)
3740

3841
// GetRawFile get a file by path on a repository
3942
func GetRawFile(ctx *context.APIContext) {
@@ -80,6 +83,7 @@ func GetRawFile(ctx *context.APIContext) {
8083
}
8184

8285
ctx.RespHeader().Set(giteaObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry)))
86+
ctx.RespHeader().Set(forgejoObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry)))
8387

8488
if err := common.ServeBlob(ctx.Context, blob, lastModified); err != nil {
8589
ctx.Error(http.StatusInternalServerError, "ServeBlob", err)
@@ -129,6 +133,7 @@ func GetRawFileOrLFS(ctx *context.APIContext) {
129133
}
130134

131135
ctx.RespHeader().Set(giteaObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry)))
136+
ctx.RespHeader().Set(forgejoObjectTypeHeader, string(files_service.GetObjectTypeFromTreeEntry(entry)))
132137

133138
// LFS Pointer files are at most 1024 bytes - so any blob greater than 1024 bytes cannot be an LFS file
134139
if blob.Size() > 1024 {

services/mailer/mail.go

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -373,6 +373,16 @@ func generateAdditionalHeaders(ctx *mailCommentContext, reason string, recipient
373373
"X-Gitea-Issue-ID": strconv.FormatInt(ctx.Issue.Index, 10),
374374
"X-Gitea-Issue-Link": ctx.Issue.HTMLURL(),
375375

376+
"X-Forgejo-Reason": reason,
377+
"X-Forgejo-Sender": ctx.Doer.DisplayName(),
378+
"X-Forgejo-Recipient": recipient.DisplayName(),
379+
"X-Forgejo-Recipient-Address": recipient.Email,
380+
"X-Forgejo-Repository": repo.Name,
381+
"X-Forgejo-Repository-Path": repo.FullName(),
382+
"X-Forgejo-Repository-Link": repo.HTMLURL(),
383+
"X-Forgejo-Issue-ID": strconv.FormatInt(ctx.Issue.Index, 10),
384+
"X-Forgejo-Issue-Link": ctx.Issue.HTMLURL(),
385+
376386
"X-GitHub-Reason": reason,
377387
"X-GitHub-Sender": ctx.Doer.DisplayName(),
378388
"X-GitHub-Recipient": recipient.DisplayName(),

services/webhook/deliver.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,10 @@ func Deliver(ctx context.Context, t *webhook_model.HookTask) error {
116116

117117
event := t.EventType.Event()
118118
eventType := string(t.EventType)
119+
req.Header.Add("X-Forgejo-Delivery", t.UUID)
120+
req.Header.Add("X-Forgejo-Event", event)
121+
req.Header.Add("X-Forgejo-Event-Type", eventType)
122+
req.Header.Add("X-Forgejo-Signature", signatureSHA256)
119123
req.Header.Add("X-Gitea-Delivery", t.UUID)
120124
req.Header.Add("X-Gitea-Event", event)
121125
req.Header.Add("X-Gitea-Event-Type", eventType)

0 commit comments

Comments
 (0)