6f17bbad7e
chore: remove trailing blank lines and clean up whitespace
2026-06-03 18:08:34 +08:00
5ee83f6a69
refactor: extract common functions from server startup modes
2026-06-03 18:03:23 +08:00
c1796dadc5
refactor: eliminate redundant switch blocks in router.go LocationEngine functions
2026-06-03 17:54:51 +08:00
6e481c36c5
refactor: simplify CheckIPAccess by reusing IPInAllowList
2026-06-03 17:53:00 +08:00
66f608f25b
refactor: remove redundant generateETag wrappers, use utils.GenerateETag directly
2026-06-03 17:51:50 +08:00
ae3c167cd6
refactor: remove extractHostFromURL, use netutil.ParseTargetURL
2026-06-03 17:50:06 +08:00
041bc97578
refactor: remove unused code identified by staticcheck
2026-06-03 17:46:58 +08:00
13547ec63e
fix: use defaultMIME fallback in DetectContentType
2026-06-03 17:44:16 +08:00
a3b4507be0
refactor: remove unused variable pool statistics dead code
2026-06-03 17:42:48 +08:00
a3bc453fbf
refactor: remove unused stream SSL dead code
2026-06-03 17:41:14 +08:00
a919369ca4
refactor: remove dead code package internal/middleware/limitrate
2026-06-03 17:39:03 +08:00
5066a1a64c
feat(utils): add GetInternalRedirectPath function
2026-06-03 16:39:36 +08:00
1a6b5f9166
Merge origin/master into master
2026-06-03 16:36:23 +08:00
856b46fd6d
refactor: remove unused ParseTLSVersion and app setter tests
...
- Remove sslutil.ParseTLSVersion (singular): unused, ParseTLSVersions (plural) is used
- Remove TestSetPidFile and TestSetLogFile: trivial setter tests
2026-06-03 16:32:15 +08:00
d0867bfe3e
refactor(lua): remove unused mock engine and filter writer subsystem
...
- Delete mock_engine.go (331 lines): unused MockLuaEngine/MockCoroutine
- Delete filter_writer.go (811 lines): DelayedResponseWriter not integrated
- Delete filter_phase_test.go (1466 lines): tests for removed filter code
- Total: 2608 lines of dead code removed
2026-06-03 16:31:18 +08:00
2734b04d8f
refactor: remove 16.8k lines of dead code across all internal packages
...
- Delete unused files: tempfile subsystem, matcher variants, server/internal
- Remove 200+ unused functions across proxy, ssl, lua, http2/3, stream, variable
- Fix proxy test type errors (backgroundRefresh ctx→Request)
- Move bench/tools mock backend into internal/testutil
- Remove corresponding test functions for all deleted code
2026-06-03 16:15:43 +08:00
5dec128510
Merge pull request #3 from xfy911/improve-comments
...
docs: add comprehensive documentation comments
2026-06-03 15:41:36 +08:00
xfy911
a6152d4dc1
docs: add documentation comments for method implementations and test utilities
...
- Add GoDoc for Warning.String, ParseError.Error
- Add GoDoc for ngxReqAPILayer.String, Phase.String, SocketState.String
- Add GoDoc for ConflictError.Error
- Add GoDoc for noopResolver methods (LookupHost, LookupHostWithCache, Refresh, Start, Stop, Stats)
- Add GoDoc for load balancer Select methods (roundRobin, weightedRoundRobin, ipHash)
- Add GoDoc for WithWSHeaders test utility
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
a136b07bb9
docs: add documentation comments for exported constants and variables
...
- Fix gjson/gjson.go package comments and constant documentation
- Fix internal/config/config.go constant documentation
- Fix internal/utils/httperror.go variable documentation
- Fix internal/matcher/matcher.go constant documentation
- Fix internal/middleware/compression/compression.go constant documentation
- Fix internal/middleware/limitrate/limitrate.go constant documentation
- Fix internal/middleware/rewrite/rewrite.go constant documentation
- Fix internal/middleware/security/access.go and auth.go constant documentation
- Fix internal/ssl/client_verify.go constant documentation
- Fix internal/variable/builtin.go and ssl.go constant documentation
- Fix internal/lua/api_log.go HTTP and log level constant documentation
- Fix internal/benchmark/tools/tools.go constant documentation
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
fc1de2d445
docs: add documentation comments for more exported constants and variables
...
- Add comments for ssl/client_verify.go verification modes
- Add comments for security/auth.go hash algorithms
- Add comments for rewrite/rewrite.go flags
- Add comments for compression/compression.go algorithms
- Add comments for limitrate/limitrate.go strategies
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
396a466de1
docs: add documentation comments for exported constants and variables
...
- Add comments for lua/api_log.go HTTP status codes and log levels
- Add comments for variable/builtin.go and ssl.go constants
- Add comments for utils/httperror.go error variables
- Add comments for matcher/matcher.go location types
- Add comments for compression/compression.go algorithms
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
0b5b0eb747
docs(loadbalance): add package comments for loadbalance module
...
- Add package documentation for random load balancing file
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
57d4d3ba3c
docs(app): add package comments for app module
...
- Add package documentation for app, app_common, import, app_windows, and testutil files
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
63ce8ecd2a
docs(lua): add package comments for lua module
...
- Add package documentation for ip_guard file
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
4a53d3032a
docs(utils): add package comments for utils module
...
- Add package documentation for internal, etag, and bytes files
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
c33adeb296
docs(middleware/limitrate): add package comments for rate limiter
...
- Add package documentation for limitrate and writer files
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
05f434d5e5
docs(server): add package comments for server module
...
- Add package documentation for router, internal, lifecycle, and middleware_builder files
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
dc54d3822f
docs(proxy): add package comments for proxy module
...
- Add package documentation for target_selector, utils, validate,
cache_handler, and header_modifier files
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
xfy911
65aaba4e59
docs(config): add package comments for config module
...
- Add package documentation for cache, monitoring, performance, proxy,
security, server, ssl, and variable config files
- Include author attribution (xfy)
2026-06-03 15:28:53 +08:00
863456f7b4
chore: add docs/superpowers to gitignore
...
Ignore agent-generated planning and specification documents.
2026-06-03 14:41:27 +08:00
8ae4add922
fix: address code review feedback
...
- proxyDebugLog: move Enabled() guard to call sites to avoid allocations
- proxyDebugLog: add default case for unsupported types
- static routes: remove unintended regex support to match original behavior
2026-06-03 14:29:30 +08:00
4678cb5483
refactor: use testutil helpers in server tests
2026-06-03 14:19:22 +08:00
8681472c4b
refactor: use testutil helpers in proxy tests
2026-06-03 14:10:07 +08:00
094976df2b
feat: add testutil package for proxy config helpers
2026-06-03 14:00:07 +08:00
1ce42c039b
refactor: extract proxyDebugLog helper for repeated debug logging
2026-06-03 13:57:55 +08:00
684122dbf7
refactor: extract registerRoute helper to reduce repetition
2026-06-03 13:55:18 +08:00
37e20ae9a0
refactor: remove unused extractCertificates function and tests
2026-06-03 13:51:55 +08:00
bc0bc5fbbb
refactor: remove unused security header preset functions and tests
2026-06-03 13:49:57 +08:00
e3c6cb61f0
refactor: remove unused bodylimit.formatSize function and test
2026-06-03 13:48:10 +08:00
596237e484
refactor: remove unused connectionPool.get and connectionPool.count methods
2026-06-03 13:46:25 +08:00
caae75ff96
refactor: remove unused validateStatic function and its test
2026-06-03 13:44:22 +08:00
634fc5b51b
Merge pull request #2 from DefectingCat/fix/identified-issues
...
fix/identified issues
2026-06-03 13:24:15 +08:00
728a9f454b
fix(server,app,config): address code review findings
...
- Fix FD leak in DupListener: close *os.File after net.FileListener
- Add cleanup of partially-duped listeners on DupListener failure
- Make reload timeout configurable via shutdown.reload_timeout
- Handle filepath.Abs errors in processIncludes instead of ignoring
- Use net.ParseIP in isAnyAddr for robust IPv6 support
2026-06-03 13:16:05 +08:00
9b8ce2a08a
fix(config): real circular include detection with visited set
...
Replace depth-only detection with path-based visited set tracking.
Detects cycles immediately on first revisit instead of after 10 depth
iterations. Supports diamond patterns (A->B->shared, A->C->shared)
via backtracking. Add self-include and diamond tests. Document that
only servers/stream/variables are merged in defaults.go.
2026-06-03 11:51:17 +08:00
556d40ceb0
fix(matcher,server): use ConflictError in AddNamed and add tests
...
Make AddNamed return *ConflictError for consistency with other Add*
methods so handleRegistrationError treats named location conflicts as
warnings instead of fatal errors. Add tests for handleRegistrationError
covering both conflict and fatal error paths.
2026-06-03 11:47:06 +08:00
f58f194752
fix(server): serialize listener creation in multi-server mode
...
Remove VHost fallback during graceful upgrade. Serialize listener
creation before parallel router/middleware setup to prevent concurrent
inherited listener consumption. Fix tcpAddrMatch to match when either
side is any-addr (0.0.0.0/::).
2026-06-03 11:44:14 +08:00
f3f78b24a8
feat(server,app): implement proper config hot reload via SIGHUP
...
createListener now checks pre-set s.listeners (Path 2) for hot reload,
not just upgradeManager.IsChild() (Path 1). Add DupListener to dup FDs
so old/new servers own independent listeners. Reload rebuilds HTTP/2
and HTTP/3. Add matchInheritedListener with TCP any-addr matching.
Add requiresFullRestart with VHost server count detection.
2026-06-03 11:42:45 +08:00
2e9ddc7400
feat(config): implement include directive with glob support
...
Support loading config fragments from external files via include
directive. Servers and streams are appended, variables merged with
main config priority. Includes glob expansion, nested includes
(depth limit 10), and circular include detection.
2026-06-03 10:20:33 +08:00
53ac4c84cd
docs(AGENTS.md): fix stale references
...
Remove non-existent config.example.yaml and .github/ directory
references. Add --generate-config usage note.
2026-06-03 10:16:29 +08:00
d9a7ab9cca
cleanup(config): remove dead ProxyCachePathConfig and CachePath field
...
Disk cache implementation was previously removed but config structs
remained. Remove ProxyCachePathConfig, Config.CachePath field, e2e
WithCachePath helper, and docs reference.
2026-06-03 10:14:07 +08:00