mirror of
				https://codeberg.org/forgejo/forgejo.git
				synced 2025-10-31 14:31:02 +00:00 
			
		
		
		
	[BRANDING] add X-Forgejo-* headers
(cherry picked from commit0a3388f93f) (cherry picked from commit7eba0a440a) (cherry picked from commiteb9646c7ef) (cherry picked from commitf1972578f5) Conflicts:
This commit is contained in:
		
					parent
					
						
							
								d887235e08
							
						
					
				
			
			
				commit
				
					
						3d72f6b3ac
					
				
			
		
					 6 changed files with 25 additions and 2 deletions
				
			
		|  | @ -32,6 +32,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...), ", ")) | ||||
|  |  | |||
|  | @ -29,6 +29,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 | ||||
|  |  | |||
|  | @ -675,7 +675,7 @@ func Routes(ctx gocontext.Context) *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()), | ||||
| 		})) | ||||
| 	} | ||||
|  |  | |||
|  | @ -32,7 +32,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) { | ||||
|  | @ -79,6 +82,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.Context, blob, lastModified); err != nil { | ||||
| 		ctx.Error(http.StatusInternalServerError, "ServeBlob", err) | ||||
|  | @ -128,6 +132,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(), | ||||
|  |  | |||
|  | @ -122,6 +122,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