a986a52755
Fix masked error message from Gitea ( #306 )
...
This would yield to the error "forge client failed" instead of e.g. "404 Not Found". The issue was introduced in cbb2ce6d07
.
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/306
Reviewed-by: crapStone <codeberg@crapstone.dev >
Co-authored-by: Moritz Marquardt <momar@noreply.codeberg.org >
Co-committed-by: Moritz Marquardt <momar@noreply.codeberg.org >
2024-04-18 21:19:45 +00:00
a6e9510c07
FIX blank internal pages ( #164 ) ( #292 )
...
Hello 👋
since it affected my deployment of the pages server I started to look into the problem of the blank pages and think I found a solution for it:
1. There is no check if the file response is empty, neither in cache retrieval nor in writing of a cache. Also the provided method for checking for empty responses had a bug.
2. I identified the redirect response to be the issue here. There is a cache write with the full cache key (e. g. rawContent/user/repo|branch|route/index.html) happening in the handling of the redirect response. But the written body here is empty. In the triggered request from the redirect response the server then finds a cache item to the key and serves the empty body. A quick fix is the check for empty file responses mentioned in 1.
3. The decision to redirect the user comes quite far down in the upstream function. Before that happens a lot of stuff that may not be important since after the redirect response comes a new request anyway. Also, I suspect that this causes the caching problem because there is a request to the forge server and its error handling with some recursions happening before. I propose to move two of the redirects before "Preparing"
4. The recursion in the upstream function makes it difficult to understand what is actually happening. I added some more logging to have an easier time with that.
5. I changed the default behaviour to append a trailing slash to the path to true. In my tested scenarios it happened anyway. This way there is no recursion happening before the redirect.
I am not developing in go frequently and rarely contribute to open source -> so feedback of all kind is appreciated
closes #164
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/292
Reviewed-by: 6543 <6543@obermui.de >
Reviewed-by: crapStone <codeberg@crapstone.dev >
Co-authored-by: Hoernschen <julian.hoernschemeyer@mailbox.org >
Co-committed-by: Hoernschen <julian.hoernschemeyer@mailbox.org >
2024-02-26 22:21:42 +00:00
7e80ade24b
Add config file and rework cli parsing and passing of config values ( #263 )
...
Co-authored-by: 6543 <6543@obermui.de >
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/263
Reviewed-by: 6543 <6543@obermui.de >
Co-authored-by: crapStone <me@crapstone.dev >
Co-committed-by: crapStone <me@crapstone.dev >
2024-02-15 16:08:29 +00:00
c1fbe861fe
rename gitea to forge in html error messages ( #287 )
...
closes #286
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/287
Reviewed-by: Andreas Shimokawa <ashimokawa@noreply.codeberg.org >
Co-authored-by: crapStone <crapstone01@gmail.com >
Co-committed-by: crapStone <crapstone01@gmail.com >
2024-02-11 12:43:25 +00:00
15916444e1
Fix panic in formatting not found message ( #276 )
...
Fix panic that was found in the logs, `targetOpt` is `nil`:
http2: panic serving 10.0.3.1:[...]: runtime error: invalid memory address or nil pointer dereference
net/http.(*http2serverConn).runHandler.func1()
/usr/local/go/src/net/http/h2_bundle.go:6104 +0x145
panic({0x19c6820, 0x2d66db0})
/usr/local/go/src/runtime/panic.go:884 +0x213
codeberg.org/codeberg/pages/server/handler.handleSubDomain({{0x2008c68, 0xc00047df90}, 0x2, {0x0, 0x0}, {0xc0fe3ef800, 0x55, 0x1f4}, {0xc00047dfa0, 0x1, ...}, ...}, ...)
/woodpecker/src/codeberg.org/Codeberg/pages-server/server/handler/handler_sub_domain.go:59 +0x5e0
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/276
Reviewed-by: crapStone <codeberg@crapstone.dev >
Co-authored-by: Gusted <postmaster@gusted.xyz >
Co-committed-by: Gusted <postmaster@gusted.xyz >
2024-01-18 14:31:46 +00:00
fffb8ffcb6
remove use of rawInfoPage redirect ( #261 )
...
closes #244
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/261
Co-authored-by: crapStone <crapstone01@gmail.com >
Co-committed-by: crapStone <crapstone01@gmail.com >
2023-11-16 17:33:39 +00:00
cbb2ce6d07
add go templating engine for error page and make errors more clear ( #260 )
...
ping #199
closes #213
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/260
Co-authored-by: crapStone <crapstone01@gmail.com >
Co-committed-by: crapStone <crapstone01@gmail.com >
2023-11-16 17:11:35 +00:00
a8272f0ce9
Don't send server version to client ( #254 )
...
closes #247
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/254
Reviewed-by: 6543 <6543@obermui.de >
Co-authored-by: crapStone <crapstone01@gmail.com >
Co-committed-by: crapStone <crapstone01@gmail.com >
2023-11-15 01:49:29 +00:00
d720d25e42
Use http.NoBody as per linter ( #231 )
...
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/231
Reviewed-by: Gusted <gusted@noreply.codeberg.org >
2023-07-17 19:44:58 +00:00
7f318f89a6
Fix escaped error message ( #230 )
...
- This specific message will [already be generated](https://codeberg.org/Codeberg/pages-server/src/commit/974229681f4cc7f1ed31df9b05eabef2df01380/html/error.go#L44 ) when `http.StatusMisdirectedRequest` is set as status with [an empty message](974229681f/html/error.go (L25-L28)
).
- Resolves https://codeberg.org/Codeberg/pages-server/issues/228
Co-authored-by: Gusted <postmaster@gusted.xyz >
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/230
Reviewed-by: 6543 <6543@obermui.de >
Co-authored-by: Gusted <gusted@noreply.codeberg.org >
Co-committed-by: Gusted <gusted@noreply.codeberg.org >
2023-07-16 22:34:46 +00:00
974229681f
Initial redirects implementation ( #148 )
...
Adds basic support for `_redirects` files. It supports a subset of what IPFS supports: https://docs.ipfs.tech/how-to/websites-on-ipfs/redirects-and-custom-404s/
Example:
```
/redirect https://example.com/ 301
/another-redirect /page 301
/302 https://example.com/ 302
/app/* /index.html 200
/articles/* /posts/:splat 301
```
301 redirect: https://video-prize-ranch.localhost.mock.directory:4430/redirect
SPA rewrite: https://video-prize-ranch.localhost.mock.directory:4430/app/path/path
Catch-all with splat: https://video-prize-ranch.localhost.mock.directory:4430/articles/path/path
Closes #46
Co-authored-by: video-prize-ranch <cb.8a3w5@simplelogin.co >
Co-authored-by: 6543 <6543@obermui.de >
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/148
Reviewed-by: 6543 <6543@obermui.de >
Co-authored-by: video-prize-ranch <video-prize-ranch@noreply.codeberg.org >
Co-committed-by: video-prize-ranch <video-prize-ranch@noreply.codeberg.org >
2023-03-30 21:36:31 +00:00
42d5802b9b
Allow to define default branches ( #125 )
...
This try to address #115
Co-authored-by: Simon Vieille <simon@deblan.fr >
Co-authored-by: 6543 <6543@obermui.de >
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/125
Reviewed-by: 6543 <6543@obermui.de >
Co-authored-by: deblan <deblan@noreply.codeberg.org >
Co-committed-by: deblan <deblan@noreply.codeberg.org >
2023-02-14 03:03:00 +00:00
46316f9e2f
Fix raw domain for branches with custom domains and index.html ( #159 )
...
fix #156
fix #157
Co-authored-by: 6543 <6543@obermui.de >
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/159
Reviewed-by: 6543 <6543@obermui.de >
Co-authored-by: crystal <crystal@noreply.codeberg.org >
Co-committed-by: crystal <crystal@noreply.codeberg.org >
2023-02-11 03:12:42 +00:00
bd538abd37
Fix wrong redirect on custom domain with path ( #154 )
...
closes #153
Co-authored-by: crapStone <crapstone01@gmail.com >
Co-authored-by: 6543 <6543@obermui.de >
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/154
Reviewed-by: 6543 <6543@obermui.de >
Co-authored-by: crapStone <crapstone@noreply.codeberg.org >
Co-committed-by: crapStone <crapstone@noreply.codeberg.org >
2023-01-11 00:00:37 +00:00
caeb1a4acb
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 >
2022-11-22 21:26:10 +00:00
f2f943c0d8
Remove unnecessary conversion ( #139 )
...
- Remove unnecessary type conversion.
- Enforce via CI
Co-authored-by: Gusted <williamzijl7@hotmail.com >
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/139
Reviewed-by: 6543 <6543@obermui.de >
Co-authored-by: Gusted <gusted@noreply.codeberg.org >
Co-committed-by: Gusted <gusted@noreply.codeberg.org >
2022-11-15 16:15:11 +01:00
4565481643
refactor: finish use default const for defaultPagesBranch and defaultPagesRepo
2022-11-12 21:16:11 +01:00
c827a28dd8
defaultPagesBranch
2022-11-12 21:13:13 +01:00
aa90356f0a
use a const for defaultPagesRepo
2022-11-12 21:10:16 +01:00
b6d0a04b21
refactor: rm not needed type conversion
2022-11-12 21:04:34 +01:00
6c63b66ce4
Refactor split long functions ( #135 )
...
we have big functions that handle all stuff ... we should split this into smaler chuncks so we could test them seperate and make clear cuts in what happens where
Reviewed-on: https://codeberg.org/Codeberg/pages-server/pulls/135
2022-11-12 20:43:44 +01:00