yusing
57f80344bc
fix: yaml unmarshal panic
2025-04-16 14:25:06 +08:00
yusing
c286275f7e
chore: replace gopkg.in/yaml.v3 vs goccy/go-yaml; replace encoding/json with bytedance/sonic
2025-04-16 14:17:57 +08:00
yusing
eb7495b02a
fix: unmarshal
2025-04-14 06:32:16 +08:00
yusing
3f2dfe14b5
fix: unmarshal and some tests
2025-04-13 12:24:11 +08:00
yusing
fce96ff3be
refactor: remove net.URL and net.CIDR types, improved unmarshal handling
2025-04-13 07:06:21 +08:00
yusing
1eac48e899
feat: debug api
2025-04-13 06:17:41 +08:00
yusing
49ee9c908a
chore: better error formatting
2025-04-10 04:52:44 +08:00
yusing
253e06923d
refactor: rename Deserialize* to UnmarshalValidate*
2025-04-05 11:58:11 +08:00
yusing
cdb3ffe439
refactor: clean up code and enhance utilities with new functions
2025-03-28 08:14:06 +08:00
yusing
c0c6e21a16
refactor: improved json loading flow and log messages
2025-03-28 07:39:26 +08:00
yusing
361931ed96
refactor: rename module 'err' to 'gperr' in references
2025-03-28 07:39:26 +08:00
Yuzerion
1a5f3735cf
Feat/fileserver ( #60 )
...
* cleanup code for URL type
* fix makefile for trace mode
* refactor, merge Entry, RawEntry and Route into one.
* Implement fileserver.
* refactor: rename HTTPRoute to ReverseProxyRoute to avoid confusion
* refactor: move metrics logger to middleware package
- fix prometheus metrics for load balanced routes
- route will now fail when health monitor fail to start
* fix extra output of ls-* commands by defer initializaing stuff, speed up start time
* add test for path traversal attack, small fix on FileServer.Start method
* rename rule.on.bypass to pass
* refactor and fixed map-to-map deserialization
* updated route loading logic
* schemas: add "add_prefix" option to modify_request middleware
* updated route JSONMarshalling
---------
Co-authored-by: yusing <yusing@6uo.me>
2025-02-06 18:23:10 +08:00
yusing
688f38943d
fix single line yaml list treated as comma seperated list
2025-02-06 01:58:45 +08:00
yusing
4ad6257dab
fix deserialization
2025-01-29 11:49:28 +08:00
yusing
bbc10cb105
fix serialization, added benchmark tests, updated next release docs
2025-01-26 15:08:10 +08:00
yusing
1586610a44
Cleaned up some validation code, stricter validation
2025-01-26 14:43:48 +08:00
yusing
79f40f3d22
implement icon cache expiry, cleanup code and upgrade deps
2025-01-23 04:16:06 +08:00
yusing
d429374924
fix deserialization: reflect: indirection through nil pointer to embedded struct
2025-01-21 04:09:46 +08:00
yusing
28b5d44e11
fix: slice deserialization should return all errors
2025-01-11 01:39:03 +08:00
yusing
4aee44fe11
fix rewrite omitting trailing slash, error msg update
2025-01-09 14:09:48 +08:00
yusing
8bbb5d2e09
fix fields not being validated (introduced in 577a536
), drop support of list string not starting with hyphen
2025-01-09 04:21:32 +08:00
yusing
577a5366e8
remove unused old code
2025-01-08 13:50:34 +08:00
yusing
c30d3f585f
api: fix validation and http response
2025-01-04 09:01:52 +08:00
yusing
b38bff41d8
support inline yaml for docker labels, serveral minor fixes
2025-01-03 15:35:40 +08:00
yusing
e7be27413c
small string split join optimization
2024-12-19 00:54:31 +08:00
yusing
654194b274
fix deserialization panics on empty map
2024-12-18 15:15:55 +08:00
yusing
57a7c04a4c
fix accesslog and serialization
2024-12-18 09:57:29 +08:00
yusing
87279688e6
fix middleware tracer and cloudflareRealIP
2024-12-18 09:03:12 +08:00
yusing
f2a9ddd1a6
improved deserialization method
2024-12-18 07:18:18 +08:00
yusing
6aefe4d5d9
replace all schema check with go-playground/validator/v10
2024-12-18 04:48:29 +08:00
yusing
0995c8b839
fixed slice deserialization
2024-12-17 10:33:21 +08:00
yusing
0aa00ab226
replace Converter interface with string parser interface
2024-12-17 10:33:21 +08:00
yusing
4d94d12e9c
fixed / suppressed (irrelevant) golangci-lint errors
2024-12-17 10:33:21 +08:00
yusing
8a9cb2527e
support deserialize into anonymous fields
2024-12-17 10:33:21 +08:00
yusing
f8bdc7044c
repalce redirect_to_https with entrypoint middleware
2024-11-30 08:50:23 +08:00
yusing
497879fb4b
update serialization
2024-11-30 05:51:17 +08:00
yusing
6e9b5cc113
updated validation for middleware options
2024-11-30 04:00:55 +08:00
yusing
edc1ad952d
updated deserialize method to support validation
2024-11-30 02:58:13 +08:00
yusing
2951304647
fixed crash on invalid map value in docker labels
2024-11-11 06:17:23 +08:00
yusing
a86d316d07
refactor and typo fixes
2024-11-02 03:14:47 +08:00
yusing
e5bbb18414
migrated from logrus to zerolog, improved error formatting, fixed concurrent map write, fixed crash on rapid page refresh for idle containers, fixed infinite recursion on gotfiy error, fixed websocket connection problem when using idlewatcher
2024-10-29 11:34:58 +08:00
yusing
a278711421
fixed loadbalancer with idlewatcher, fixed reload issue
2024-10-20 09:46:02 +08:00
yusing
01ffe0d97c
simplified error messages
2024-10-19 14:25:28 +08:00
yusing
f4d532598c
Improved healthcheck, idlewatcher support for loadbalanced routes, bug fixes
2024-10-15 15:34:27 +08:00
yusing
f38b3abdbc
improved health check
2024-10-14 10:02:53 +08:00
yusing
d47b672aa5
refactored some stuff, added healthcheck support, fixed 'include file' reload not showing in log
2024-10-12 13:56:38 +08:00
yusing
7184c9cfe9
correcting some behaviors for $DOCKER_HOST, now uses container's private IP instead of localhost
2024-10-11 09:13:38 +08:00
yusing
1797896fa6
fixed typos and formatting, fixed loading page not being shown (idlewaker)
2024-10-08 13:15:23 +08:00
yusing
01ff63a007
fix forward auth attempt#1
2024-10-06 03:18:06 +08:00
yusing
99746bad8e
fix attempt#1: int64 not assignable to int
2024-10-06 02:02:13 +08:00