Commit Graph

2527 Commits

Author SHA1 Message Date
sgibb
7a419c8e5e Initial gateway-request-predicates.adoc docs 2023-12-04 17:57:34 -05:00
sgibb
e5281d6658 Adds GatewayRequestPredicates.host(...) and GatewayRequestPredicates.path(...) 2023-12-04 17:56:53 -05:00
sgibb
ff98d6298c Initial documentation.
Includes general documentation and most filters.

TODO: request predicates and custome dev docs.
2023-12-04 15:39:59 -05:00
sgibb
da19814649 Adds AfterFilterFunctions.setStatus(String) 2023-12-04 15:39:58 -05:00
sgibb
b13b14aee9 Renamed RewriteLocationResponseHeaderFilterFunctions.RewriteLocationResponseHeaderConfig.protocolsRegex 2023-12-04 15:39:58 -05:00
sgibb
75885f658a Adds rewriteLocationResponseHeader() example 2023-12-04 15:39:57 -05:00
sgibb
7457b30087 Adds BeforeFilterFunctions.requestHeaderSize(*, errorHeaderName) 2023-12-04 15:39:57 -05:00
sgibb
e36de39358 Adds FilterFunctions.redirectTo(String, URI) 2023-12-04 15:39:57 -05:00
sgibb
ad7e6cd14f Update BeforeFilterFunctions.preserveHostHeader() for compatibility 2023-12-04 15:39:56 -05:00
sgibb
efce014258 Adds CircuitBreakerFilterFunctions.CircuitBreakerConfig.setStatusCodes(String...) 2023-12-04 15:39:56 -05:00
sgibb
0562da5a3e Adds test for circuit break fallbackUri 2023-12-04 15:39:56 -05:00
sgibb
6f548558bd Adds CircuitBreakerFilterFunctions.CircuitBreakerConfig.setFallbackUri() 2023-12-04 15:39:55 -05:00
sgibb
57dd2b026e removes circuitBreaker parameter 2023-12-04 15:39:55 -05:00
sgibb
bd38f67346 adds HandlerFunctions.http(String uri) 2023-12-04 15:39:55 -05:00
Abel Salgado Romero
592cc3951a Fix GRPC dependencies for GRPCApplicationTests (#3157)
The main fix is bumping GRPC to 1.59.1, for some reason 1.59.0 fails.
Additionally,
* Use same GRPC version for SCG runtime and proto code generation.
* The protobuf compiler version is set with a version to help bumping.
2023-12-02 16:42:00 -05:00
buildmaster
2f39ba705d Bumping versions 2023-11-04 12:10:28 +00:00
JesseEstum
d0f8dd4f27 Fix typo in docs (#3061) 2023-11-03 12:34:10 -04:00
Alexej Timonin
beb688fd45 Proposal to clarify in the docs that request size filter acts on Content-Length header (#3085)
* Update RequestSizeGatewayFilterFactory.java

* Update GatewayFilterSpec.java
2023-11-03 12:28:44 -04:00
Vahid Ramezani
bec2f5310b increase code readability (#3096)
* increase code readability

* fix syntax error

* remove unused imports
2023-11-03 12:26:53 -04:00
dependabot[bot]
70d8b2989f Bump bucket4j.version from 8.5.0 to 8.6.0 (#3118)
Bumps `bucket4j.version` from 8.5.0 to 8.6.0.

Updates `com.bucket4j:bucket4j-core` from 8.5.0 to 8.6.0
- [Release notes](https://github.com/bucket4j/bucket4j/releases)
- [Commits](https://github.com/bucket4j/bucket4j/commits)

Updates `com.bucket4j:bucket4j-caffeine` from 8.5.0 to 8.6.0
- [Release notes](https://github.com/bucket4j/bucket4j/releases)
- [Commits](https://github.com/bucket4j/bucket4j/commits)

---
updated-dependencies:
- dependency-name: com.bucket4j:bucket4j-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.bucket4j:bucket4j-caffeine
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-03 11:37:06 -04:00
dependabot[bot]
1e09e2f51d Bump grpc.version from 1.58.0 to 1.59.0 (#3109)
Bumps `grpc.version` from 1.58.0 to 1.59.0.

Updates `io.grpc:grpc-netty` from 1.58.0 to 1.59.0
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.58.0...v1.59.0)

Updates `io.grpc:grpc-protobuf` from 1.58.0 to 1.59.0
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.58.0...v1.59.0)

Updates `io.grpc:grpc-stub` from 1.58.0 to 1.59.0
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.58.0...v1.59.0)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-netty
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.grpc:grpc-protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.grpc:grpc-stub
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-03 11:36:48 -04:00
dependabot[bot]
a73778fefb Bump actions/checkout from 3 to 4 (#3067)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-03 11:34:24 -04:00
Marta Medio
1a31026e98 Deprecate KeyValue configuration from Filter and extract it into a config package (#3107) 2023-11-03 11:29:31 -04:00
sgibb
56d4f52303 formatting 2023-11-03 11:28:32 -04:00
Ignacio Lozano
6b235916af Correct the order when routes are refreshed by group (#3112) 2023-11-03 11:27:43 -04:00
buildmaster
8a33b72f5b Bumping versions 2023-11-01 12:10:14 +00:00
Ignacio Lozano
8c821197af Correct the order when routes are refreshed by group (#3112) 2023-10-31 11:55:21 -04:00
buildmaster
6d2055ac05 Going back to snapshots 2023-10-31 14:39:58 +00:00
buildmaster
fb325a5216 Update SNAPSHOT to 4.1.0-RC1 2023-10-31 14:36:58 +00:00
buildmaster
51367a8668 Bumping versions 2023-10-12 12:09:06 +00:00
sgibb
9d6ab543fd Correctly proxy form urlencoded posts.
Turns out, gateway mvc was never sending the body of form urlencoded posts, but as query parameters (something servlet containers do). Then, on the other side framework was recreating the body until recently which caused the test to fail and expose the bug.

Fixes gh-3094
2023-10-11 15:03:42 -04:00
sgibb
ec69691133 Formatting 2023-10-11 14:55:50 -04:00
sgibb
3db2b35c90 Implements new methods 2023-10-11 13:55:48 -04:00
sgibb
5a9b234b7d Disables ServerMvcIntegrationTests.formUrlencodedWorks()
See gh-3094
2023-10-09 17:22:21 -04:00
sgibb
e9cfe1df35 Asserts headers are not null. 2023-10-09 16:20:54 -04:00
sgibb
0321c64c85 Makes ArgumentSupplierBeanPostProcessor bean method static
Fixes warning in logs
2023-10-09 16:20:40 -04:00
sgibb
76e35bbc08 Merge branch '4.0.x' 2023-10-04 16:51:15 -04:00
Gaurav Ojha
7dff7319a6 Support spring.codec.max-in-memory-size configuration for CacheRequestBodyFilter
Fixes gh-2693
Fixes gh-2797
2023-10-04 16:49:28 -04:00
sgibb
9c11a8ed8a Adds rewriterequestparameter-factory.adoc
See gh-3081
2023-10-04 15:46:18 -04:00
sgibb
77779ff91a Merge branch '4.0.x' 2023-10-04 15:43:43 -04:00
Fredrich Ombico
41b212db5c Add RewriteRequestParameter GatewayFilter factory (#3081)
The `RewriteRequestParameter` `GatewayFilter` factory takes a `name` parameter and a `replacement` parameter.
It will rewrite the value of the request parameter of the given `name`.
2023-10-04 15:42:02 -04:00
sgibb
138a49afa0 Merge remote-tracking branch 'origin/main'
# Conflicts:
#	pom.xml
2023-10-04 15:28:38 -04:00
sgibb
9c37027706 Merge branch '4.0.x' 2023-10-04 15:26:26 -04:00
sgibb
a76bf7c982 Merge branch 'filter/local-response-cache/no-cache-directive' into 4.0.x 2023-10-04 15:19:23 -04:00
sgibb
29ec0728a8 Polish gh-3047 "Correct inconsistencies in the Cache-Control..." 2023-10-04 15:18:00 -04:00
buildmaster
9fce110c42 Correct LocalResponseCache behaviour w/ "no-cache", "must-revalidate", "max-age" and "no-store" directives
summary:

1. Inputs / expected result in order assuming Cache TTL configured to 120s
* Request contains `no-store` or `private`
  * (done) Cache is skipped without storing response and `Cache-Control` will come from upstream
* Request contains `no-cache`
  * The cached response is ignored by SCG dispatching to upstream(we cannot return 304 - imagine a client sends no-cache waiting for the server to revalidate and returns fresh data but instead it receives a bodyless response 304)
    * A) Fresh response coming from upstream is renewed in the SCG cache and `Cache-Control: max-age=120s`. Other clients will see max-age increased
    * B) Fresh response coming from upstream is not stored. Other clients will not be affected.
* Otherwise (ignoring `ETag`, `If-Modified-Since` and other request directives
  * if Response is not cached in SCG yet
    * `Cache-Control: max-age=120` (no-cache, no-store and must-revalidate doesn't make sense)
  * if Response is cached in SCG with remaining TTL = 30s
    * `Cache-Control: max-age=30` (no-cache, no-store and must-revalidate doesn't make sense)
  * if Response is cached in SCG with remaining TTL = 0s
    * `Cache-Control: max-age=0,no-cache,must-revalidate` (max-age=0+must-revalidate is equivalent to no-cache)

2. Revalidation is out of scope but it can be added in the future (ETag, If-Modified-Since, Modified-Since)
2023-10-04 15:17:59 -04:00
dependabot[bot]
faebdea9cd Bump org.testcontainers:testcontainers-bom from 1.17.3 to 1.19.1 (#3087)
Bumps [org.testcontainers:testcontainers-bom](https://github.com/testcontainers/testcontainers-java) from 1.17.3 to 1.19.1.
- [Release notes](https://github.com/testcontainers/testcontainers-java/releases)
- [Changelog](https://github.com/testcontainers/testcontainers-java/blob/main/CHANGELOG.md)
- [Commits](https://github.com/testcontainers/testcontainers-java/compare/1.17.3...1.19.1)

---
updated-dependencies:
- dependency-name: org.testcontainers:testcontainers-bom
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 16:33:58 -04:00
dependabot[bot]
9d664d9424 Bump org.junit-pioneer:junit-pioneer from 1.6.1 to 1.9.1 (#3090)
Bumps [org.junit-pioneer:junit-pioneer](https://github.com/junit-pioneer/junit-pioneer) from 1.6.1 to 1.9.1.
- [Release notes](https://github.com/junit-pioneer/junit-pioneer/releases)
- [Commits](https://github.com/junit-pioneer/junit-pioneer/compare/v1.6.1...v1.9.1)

---
updated-dependencies:
- dependency-name: org.junit-pioneer:junit-pioneer
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 16:33:28 -04:00
dependabot[bot]
fc1e120157 Bump bucket4j.version from 8.3.0 to 8.5.0 (#3089)
Bumps `bucket4j.version` from 8.3.0 to 8.5.0.

Updates `com.bucket4j:bucket4j-core` from 8.3.0 to 8.5.0
- [Release notes](https://github.com/bucket4j/bucket4j/releases)
- [Commits](https://github.com/bucket4j/bucket4j/compare/8.3.0...8.5.0)

Updates `com.bucket4j:bucket4j-caffeine` from 8.3.0 to 8.5.0
- [Release notes](https://github.com/bucket4j/bucket4j/releases)
- [Commits](https://github.com/bucket4j/bucket4j/compare/8.3.0...8.5.0)

---
updated-dependencies:
- dependency-name: com.bucket4j:bucket4j-core
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: com.bucket4j:bucket4j-caffeine
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 16:33:09 -04:00
dependabot[bot]
86d5f9fa61 Bump grpc.version from 1.47.0 to 1.58.0 (#3074)
Bumps `grpc.version` from 1.47.0 to 1.58.0.

Updates `io.grpc:grpc-netty` from 1.47.0 to 1.58.0
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.47.0...v1.58.0)

Updates `io.grpc:grpc-protobuf` from 1.47.0 to 1.58.0
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.47.0...v1.58.0)

Updates `io.grpc:grpc-stub` from 1.47.0 to 1.58.0
- [Release notes](https://github.com/grpc/grpc-java/releases)
- [Commits](https://github.com/grpc/grpc-java/compare/v1.47.0...v1.58.0)

---
updated-dependencies:
- dependency-name: io.grpc:grpc-netty
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.grpc:grpc-protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.grpc:grpc-stub
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-03 16:32:37 -04:00