mirror of
				https://github.com/go-gitea/gitea
				synced 2025-10-31 11:28:24 +00:00 
			
		
		
		
	Change order that PostProcess Processors are run (#6445)
Make sure Processors that work on full links are run first so that something matching another pattern doesn't alter a link before we get to it, for example: https://stackoverflow.com/questions/2896191/what-is-go-used-fore Fixes #4813
This commit is contained in:
		
				
					committed by
					
						 techknowlogick
						techknowlogick
					
				
			
			
				
	
			
			
			
						parent
						
							d77176912b
						
					
				
				
					commit
					c8650aef0a
				
			| @@ -152,15 +152,15 @@ func (p *postProcessError) Error() string { | ||||
| type processor func(ctx *postProcessCtx, node *html.Node) | ||||
|  | ||||
| var defaultProcessors = []processor{ | ||||
| 	mentionProcessor, | ||||
| 	shortLinkProcessor, | ||||
| 	fullIssuePatternProcessor, | ||||
| 	fullSha1PatternProcessor, | ||||
| 	shortLinkProcessor, | ||||
| 	linkProcessor, | ||||
| 	mentionProcessor, | ||||
| 	issueIndexPatternProcessor, | ||||
| 	crossReferenceIssueIndexPatternProcessor, | ||||
| 	fullSha1PatternProcessor, | ||||
| 	sha1CurrentPatternProcessor, | ||||
| 	emailAddressProcessor, | ||||
| 	linkProcessor, | ||||
| } | ||||
|  | ||||
| type postProcessCtx struct { | ||||
| @@ -194,14 +194,14 @@ func PostProcess( | ||||
| } | ||||
|  | ||||
| var commitMessageProcessors = []processor{ | ||||
| 	mentionProcessor, | ||||
| 	fullIssuePatternProcessor, | ||||
| 	fullSha1PatternProcessor, | ||||
| 	linkProcessor, | ||||
| 	mentionProcessor, | ||||
| 	issueIndexPatternProcessor, | ||||
| 	crossReferenceIssueIndexPatternProcessor, | ||||
| 	fullSha1PatternProcessor, | ||||
| 	sha1CurrentPatternProcessor, | ||||
| 	emailAddressProcessor, | ||||
| 	linkProcessor, | ||||
| } | ||||
|  | ||||
| // RenderCommitMessage will use the same logic as PostProcess, but will disable | ||||
|   | ||||
| @@ -113,6 +113,12 @@ func TestRender_links(t *testing.T) { | ||||
| 	test( | ||||
| 		"https://foo_bar.example.com/", | ||||
| 		`<p><a href="https://foo_bar.example.com/" rel="nofollow">https://foo_bar.example.com/</a></p>`) | ||||
| 	test( | ||||
| 		"https://stackoverflow.com/questions/2896191/what-is-go-used-fore", | ||||
| 		`<p><a href="https://stackoverflow.com/questions/2896191/what-is-go-used-fore" rel="nofollow">https://stackoverflow.com/questions/2896191/what-is-go-used-fore</a></p>`) | ||||
| 	test( | ||||
| 		"https://username:password@gitea.com", | ||||
| 		`<p><a href="https://username:password@gitea.com" rel="nofollow">https://username:password@gitea.com</a></p>`) | ||||
|  | ||||
| 	// Test that should *not* be turned into URL | ||||
| 	test( | ||||
|   | ||||
		Reference in New Issue
	
	Block a user