/khool-http-echo

Really Quick and dirty http Echo servlet

Primary LanguageHTMLApache License 2.0Apache-2.0

khool-http-echo Project

This project uses Quarkus, the Supersonic Subatomic Java Framework.

If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .

this a Quick and Dirty Echo Servlet

Shortcut

curl -v -X POST \
     -H "X-funny-header: joke" 
     -d "{\"data\":\"sample data\"}" \
     http://127.0.0.1:8080/echoServlet?titi=toto\&foo=barz
# Note: Unnecessary use of -X or --request, POST is already inferred.
#*   Trying 127.0.0.1:8080...
#* Connected to 127.0.0.1 (127.0.0.1) port 8080 (#0)
#> POST /echoServlet?titi=toto&foo=barz HTTP/1.1
#> Host: 127.0.0.1:8080
#> User-Agent: curl/7.79.1
#> Accept: */*
#> X-funny-header: joke
#> Content-Length: 22
#> Content-Type: application/x-www-form-urlencoded
#>
#* Mark bundle as not supporting multiuse
#  < HTTP/1.1 200 OK
#  < Content-Length: 271
#  <
#  Headers:
#   content-length : 22
#   X-funny-header : joke
#   Accept : */*
#   User-Agent : curl/7.79.1
#   Host : 127.0.0.1:8080
#   Content-Type : application/x-www-form-urlencoded
#
# Method:POST
#
# URI:/echoServlet

# Parameters :
#    foo : barz
#    {"data":"sample data"} :
#    titi : toto
#
# Body:

For dev

Running the application in dev mode

You can run your application in dev mode that enables live coding using:

./mvnw compile quarkus:dev

NOTE: Quarkus now ships with a Dev UI, which is available in dev mode only at http://localhost:8080/q/dev/.

Packaging and running the application

The application can be packaged using:

./mvnw package

It produces the quarkus-run.jar file in the target/quarkus-app/ directory. Be aware that it’s not an über-jar as the dependencies are copied into the target/quarkus-app/lib/ directory.

The application is now runnable using java -jar target/quarkus-app/quarkus-run.jar.

If you want to build an über-jar, execute the following command:

./mvnw package -Dquarkus.package.type=uber-jar

The application, packaged as an über-jar, is now runnable using java -jar target/*-runner.jar.

Creating a native executable

You can create a native executable using:

./mvnw package -Pnative

Or, if you don't have GraalVM installed, you can run the native executable build in a container using:

./mvnw package -Pnative -Dquarkus.native.container-build=true

You can then execute your native executable with: ./target/khool-http-echo-1.0.0-SNAPSHOT-runner

If you want to learn more about building native executables, please consult https://quarkus.io/guides/maven-tooling.

Related Guides

  • RESTEasy Reactive (guide): A JAX-RS implementation utilizing build time processing and Vert.x. This extension is not compatible with the quarkus-resteasy extension, or any of the extensions that depend on it.

Provided Code

RESTEasy Reactive

Easily start your Reactive RESTful Web Services

Related guide section...