mirror of
https://github.com/hanzoai/gateway.git
synced 2026-10-30 15:04:44 +00:00
No shared git history with krakend/krakend-ce (squashed import), so there
is no merge-base and git merge is unavailable. Base identified by
content-diffing our seven derived service-assembly files against every
upstream tag: v2.12.x (137 residual lines = our own deltas). Ported the
v2.12.1..v2.13.8 delta by hand, ours winning on every Hanzo-specific line.
Security:
- krakend-xml v2.2.0 -> v2.2.2: exponential-cost XML rendering
(algorithmic-complexity DoS). Drops clbanning/mxj entirely.
- go-jose/v3 v3.0.4 -> v3.0.5 (transitive under krakend-jose).
- krakend-jose v2.10.0 -> v2.12.3: JWT validation path.
Bug fixes taken from upstream:
- backend_factory: HTTPRequestExecutorWithContext propagates the app
context into client plugins, which previously never observed
cancellation and could not drain on shutdown (upstream 16a23d2).
- tests: `expected.Body != ""` -> `!= nil`. Body is interface{}, so a nil
body compared true against "" and ran a DeepEqual that no fixture could
satisfy. Guard fixture integration_no_body.json added.
Forced couplings:
- gocloud.dev v0.39.0 -> v0.45.0 removed pubsub.OpenCensusViews, breaking
krakend-pubsub v2.2.0 -> bumped to v2.3.1 and dropped the symbol from
MetricsAndTraces.Register, exactly as upstream did.
- krakend-circuitbreaker v2 -> v3 (import path change, sony/gobreaker/v2).
lura pinned to the real v2.14.1 tag, NOT upstream's v2.14.2-0.2026...
pseudo-version (real-semver rule). tests/ moved off the unmaintained
xeipuuv/gojsonschema to santhosh-tekuri/jsonschema/v6.
Deliberately NOT taken (re-adding any is a regression): krakend-usage
(phone-home; startReporter stays a no-op), krakend-otel and the
jaeger/ocagent/stackdriver OpenCensus exporters (all gRPC), go-contrib/uuid,
and upstream's cors.NewRunServerWithLogger wrapper (this fork serves its own
CORS preflight via hostProxyMiddleware; taking it double-sets headers).
Verified absent from both the default and legacy build graphs.
hanzoai/iam-v1 kept as an indirect require: go mod tidy drops it as
unused, but that would revert 7a447ad as a side effect of this merge.
Builds green (default + legacy + vet), all unit packages green, and the
47-fixture integration harness green against a freshly built edge binary.
Co-authored-by: Hanzo Dev <[email protected]>
16 lines
350 B
JSON
16 lines
350 B
JSON
{
|
|
"in": {
|
|
"method": "GET",
|
|
"url": "http://localhost:8080/static"
|
|
},
|
|
"out": {
|
|
"status_code": 200,
|
|
"@comment": "when no body and no schema are defined, body should not be checked",
|
|
"header": {
|
|
"content-type": ["application/json; charset=utf-8"],
|
|
"Cache-Control": ["public, max-age=3600"],
|
|
"X-Gateway-Completed": ["true"]
|
|
}
|
|
}
|
|
}
|