Return a 404 if there is no repository (#141)

If no repository is found the user expects a 404 status code
instead of a dependency failed status code (as it was before).

Signed-off-by: Jan Klippel <c0d3b3rg@kl1pp3l.de>

Fixes: https://codeberg.org/Codeberg/Community/issues/809

Co-authored-by: Jan Klippel <c0d3b3rg@kl1pp3l.de>
Co-authored-by: 6543 <6543@obermui.de>
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/141
Reviewed-by: 6543 <6543@obermui.de>
Co-authored-by: jklippel <jklippel@noreply.codeberg.org>
Co-committed-by: jklippel <jklippel@noreply.codeberg.org>
This commit is contained in:
jklippel 2022-11-22 21:26:10 +00:00 committed by 6543
parent f2f943c0d8
commit caeb1a4acb
2 changed files with 20 additions and 19 deletions

View File

@ -115,6 +115,6 @@ func handleSubDomain(log zerolog.Logger, ctx *context.Context, giteaClient *gite
// Couldn't find a valid repo/branch // Couldn't find a valid repo/branch
html.ReturnErrorPage(ctx, html.ReturnErrorPage(ctx,
fmt.Sprintf("couldn't find a valid repo[%s]", targetRepo), fmt.Sprintf("could not find a valid repository[%s]", targetRepo),
http.StatusFailedDependency) http.StatusNotFound)
} }

View File

@ -23,26 +23,27 @@ func TestHandlerPerformance(t *testing.T) {
) )
testCase := func(uri string, status int) { testCase := func(uri string, status int) {
req := httptest.NewRequest("GET", uri, nil) t.Run(uri, func(t *testing.T) {
w := httptest.NewRecorder() req := httptest.NewRequest("GET", uri, nil)
w := httptest.NewRecorder()
log.Printf("Start: %v\n", time.Now()) log.Printf("Start: %v\n", time.Now())
start := time.Now() start := time.Now()
testHandler(w, req) testHandler(w, req)
end := time.Now() end := time.Now()
log.Printf("Done: %v\n", time.Now()) log.Printf("Done: %v\n", time.Now())
resp := w.Result() resp := w.Result()
if resp.StatusCode != status { if resp.StatusCode != status {
t.Errorf("request failed with status code %d", resp.StatusCode) t.Errorf("request failed with status code %d", resp.StatusCode)
} else { } else {
t.Logf("request took %d milliseconds", end.Sub(start).Milliseconds()) t.Logf("request took %d milliseconds", end.Sub(start).Milliseconds())
} }
})
} }
testCase("https://mondstern.codeberg.page/", 424) // TODO: expect 200 testCase("https://mondstern.codeberg.page/", 404) // TODO: expect 200
testCase("https://mondstern.codeberg.page/", 424) // TODO: expect 200 testCase("https://codeberg.page/", 404) // TODO: expect 200
testCase("https://example.momar.xyz/", 424) // TODO: expect 200 testCase("https://example.momar.xyz/", 424)
testCase("https://codeberg.page/", 424) // TODO: expect 200
} }