Age | Commit message (Collapse) | Author |
|
|
|
|
|
and pretend to serve content even if the request has been cancelled
to prevent making extra operations if this happens early in the
request chain. For example, if we know the request was cancelled
there is no point in checking the redirects or the custom
404 file handler.
|
|
As not found resources to reduce the number of 500 errors
reported in the logs and Sentry.
Closes https://gitlab.com/gitlab-org/gitlab-pages/-/issues/669.
Changelog: changed.
|
|
And report stack trace with error tracking to Sentry.
Changelog: other
|
|
refactor: remove vfs.ErrNotExist and switch to go native fs error
See merge request gitlab-org/gitlab-pages!569
|
|
Related to https://gitlab.com/gitlab-org/gitlab-pages/-/issues/466
Changelog: added
|
|
|
|
SHA is an initialism.
See https://github.com/golang/go/wiki/CodeReviewComments#initialisms
|
|
Now that the Rails API is serving the archive file_sha256 in the
lookup response, we can move away from using the base URL as the
key to cache the archive.
Changelog: change
|
|
|
|
|
|
|
|
|
|
This commit adds support for Netlify-style splats (*) and :placeholders
in the _redirects file.
Changelog: added
|
|
|
|
|
|
Signed-off-by: Balasankar "Balu" C <balasankarc@autistici.org>
|
|
(cherry picked from commit b519027459919125c5227fcb60519bdd18b4c780)
|
|
Moves the http.Client initialization inside the `httprange` package to
the zip VFS. This makes the type `Resource` depend on an http.Client
that needs to be passed on initialization.
It also makes the zip VFS initialize the client. It's possible to
reconfigure it to register a file protocol by calling vfs.Reconfigure
explicitly.
|
|
This ensures the query string is persisted when redirecting
to add a trailing slash.
|
|
Add todo to reconfigure other vfs
|
|
|
|
|
|
|
|
Cleanup
|
|
Add zip config to appConfig
|
|
|
|
|
|
Use DefaultConfig as global
|
|
Adds a config package with specific zip configuration structure that can
be shared between packages.
|
|
Prior to this change ALL processing failures
unrelated to "file missing" would return `404`.
This is inaccurate.
Processing failures are failure of GitLab Pages
and `500` should be returned in such cases.
|
|
Fix support for archives without directory structure
Closes #482
See merge request gitlab-org/gitlab-pages!373
|
|
Log serving type
Closes #477
See merge request gitlab-org/gitlab-pages!369
|
|
This extends our structured logging
with information about how the given
request was served
|
|
In case of archives that do not store directories
we would fail to automatically serve `index.html`
for a `/` type of request.
This makes us create directories when traversing
the file list.
```
Archive: public-without-dirs.zip
Length Date Time Name
--------- ---------- ----- ----
40 2020-09-15 02:47 public/subdir/hello.html
14 2020-09-15 03:35 public/subdir/2bp3Qzs9CCW7cGnxhghdavZ2bJDTzvu2mrj6O8Yqjm3YMRozRZULxBBKzJXCK16GlsvO1GlbCyONf2LTCndJU9cIr5T3PLDN7XnfG00lEmf9DWHPXiAbbi0v8ioSjnoTqdyjELVKuhsGRGxeV9RptLMyGnbpJx1w2uECiUQSHrRVQNuq2xoHLlk30UAmis1EhGXP5kKprzHxuavsKMdT4XRP0d79tie4tjqtfRsP4y60hmNS1vSujrxzhDa
33 2020-09-15 02:47 public/subdir/linked.html
31 2020-09-15 02:47 public/404.html
33 2020-09-15 02:47 public/index.html
258 2020-10-13 12:40 public/bad_symlink.html
18 2020-10-13 12:40 public/symlink.html
```
|
|
Avoid strange EOF error when the encoding is wrong
|
|
- Part of https://gitlab.com/gitlab-org/gitlab-pages/-/issues/24
- Original feature added in https://gitlab.com/gitlab-org/gitlab-pages/-/merge_requests/336
- Feature was verified working in in production: https://ops.gitlab.net/gitlab-cookbooks/chef-repo/-/merge_requests/4247#note_92527
- Feature toggle docs being removed in https://gitlab.com/gitlab-org/gitlab/-/merge_requests/42759
|
|
|
|
|
|
|
|
|
|
Add vfs.VFS implementation for zip
Fix build errors
Clean zip vfs
Add tests for Root
Add zip serving metric
Return a zip.Instance() when source == zip
Add simple acceptance test for zip serving
Use correct contents
No need to start testServer in go routine
|
|
|
|
|
|
Adds a zip package capable of reading zip files from an
httprange.Resource. It reads archive file contents into memory per
archive that is requested from the vfs.Root.
WIP: add simple test for archive reader
WIP: fix build
WIP: update archive test
WIP: adding tests for archive
WIP: print more info
WIP: update zip file correct symlink
WIP: use correct file
Add bad symlink file to zip
Update handling long symlinks
update documentation and reorg code
fix up stuff
|
|
Fix https://gitlab.com/gitlab-org/gitlab-pages/-/issues/24
|
|
This resolves absolute paths to be relative
if within a `rootPath` or absolute if outside.
The `EvalSymlink` and the later usage of `VFS`
will ensure that path is sanitised
|
|
The fix is a little unconventional:
- we treat the absolute paths as local
to `rootPath`
- this actually makes sense, given that
this VFS should only work in this context
|
|
|