Charon Spring Boot Starter

Reverse proxy implementation in form of Spring Boot starter.

License

License

Categories

Categories

Spring Boot Container Microservices
GroupId

GroupId

com.github.mkopylec
ArtifactId

ArtifactId

charon-spring-boot-starter
Last Version

Last Version

3.2.0
Release Date

Release Date

Type

Type

jar
Description

Description

Charon Spring Boot Starter
Reverse proxy implementation in form of Spring Boot starter.
Project URL

Project URL

https://github.com/mkopylec/charon-spring-boot-starter
Source Code Management

Source Code Management

https://github.com/mkopylec/charon-spring-boot-starter

Download charon-spring-boot-starter

How to add to project

<!-- https://jarcasting.com/artifacts/com.github.mkopylec/charon-spring-boot-starter/ -->
<dependency>
    <groupId>com.github.mkopylec</groupId>
    <artifactId>charon-spring-boot-starter</artifactId>
    <version>3.2.0</version>
</dependency>
// https://jarcasting.com/artifacts/com.github.mkopylec/charon-spring-boot-starter/
implementation 'com.github.mkopylec:charon-spring-boot-starter:3.2.0'
// https://jarcasting.com/artifacts/com.github.mkopylec/charon-spring-boot-starter/
implementation ("com.github.mkopylec:charon-spring-boot-starter:3.2.0")
'com.github.mkopylec:charon-spring-boot-starter:jar:3.2.0'
<dependency org="com.github.mkopylec" name="charon-spring-boot-starter" rev="3.2.0">
  <artifact name="charon-spring-boot-starter" type="jar" />
</dependency>
@Grapes(
@Grab(group='com.github.mkopylec', module='charon-spring-boot-starter', version='3.2.0')
)
libraryDependencies += "com.github.mkopylec" % "charon-spring-boot-starter" % "3.2.0"
[com.github.mkopylec/charon-spring-boot-starter "3.2.0"]

Dependencies

compile (7)

Group / Artifact Type Version
org.springframework.boot : spring-boot-starter-web jar 2.1.3.RELEASE
org.apache.commons : commons-lang3 jar 3.8.1
org.apache.commons : commons-collections4 jar 4.2
commons-io : commons-io jar 2.6
org.apache.httpcomponents : httpclient jar 4.5.6
org.springframework.retry : spring-retry jar 1.2.2.RELEASE
io.micrometer : micrometer-core jar 1.1.3

test (3)

Group / Artifact Type Version
org.springframework.boot : spring-boot-starter-test jar 2.1.3.RELEASE
org.spockframework : spock-spring jar 1.2-groovy-2.5
com.github.tomakehurst : wiremock jar 2.21.0

Project Modules

There are no modules declared in this project.

Charon Spring Boot Starter

Build Status Code Coverage Maven Central

Charon is a reverse proxy implementation. It automatically forwards HTTP requests from one HTTP server to another and sends back the received HTTP response to the client. There are some alternative reverse proxy implementations like Zuul or Smiley's HTTP Proxy Servlet. Zuul is highly bounded to Spring Cloud Netflix, Smiley's HTTP Proxy Servlet is a simple one, without advanced features. Charon is a universal Spring Boot tool. It already has a lot of features implemented and its architecture provides an easy way to add new ones.

Features

  • highly configurable and extensible
  • Spring WebMVC and WebFlux support
  • multiple request forwarding mappings
  • load balancing
  • flexible path rewriting
  • Resilience4j support
  • metrics based on Micrometer
  • asynchronous request forwarding
  • authentication
  • cookies rewriting
  • 'X-Forwarded' HTTP headers support
  • forwarding process intercepting
  • configurable HTTP client

Migrating from older versions to 4.x.x

Charon was completely rewritten, configuration via application.yml file is no longer available. Now Charon can be configured by in-code configuration. See the documentation for more details.

Documentation

Full documentation is located here.

License

Charon Spring Boot Starter is published under Apache License 2.0.

Versions

Version
3.2.0
3.1.0
3.0.4
3.0.3
3.0.2
3.0.1
3.0.0
2.6.1
2.6.0
2.5.0
2.4.0
2.3.0
2.2.0
2.1.1
2.1.0
2.0.2
2.0.1
2.0.0
1.10.0
1.9.1
1.9.0
1.8.0
1.7.0
1.6.1
1.6.0
1.5.0
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.1
1.3.0
1.2.0