Este contenido no está disponible en el idioma seleccionado.
Chapter 62. Platform HTTP
This extension allows for creating HTTP endpoints for consuming HTTP requests.
It is built on top of the Eclipse Vert.x HTTP server provided by the quarkus-vertx-http
extension.
62.1. What’s inside Copiar enlaceEnlace copiado en el portapapeles!
-
Platform HTTP component, URI syntax:
platform-http:path
Please refer to the above link for usage and configuration details.
62.2. Maven coordinates Copiar enlaceEnlace copiado en el portapapeles!
Create a new project with this extension on code.quarkus.redhat.com
Or add the coordinates to your existing project:
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-platform-http</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-platform-http</artifactId>
</dependency>
62.3. Usage Copiar enlaceEnlace copiado en el portapapeles!
62.3.1. Basic Usage Copiar enlaceEnlace copiado en el portapapeles!
Serve all HTTP methods on the /hello
endpoint:
from("platform-http:/hello").setBody(simple("Hello ${header.name}"));
from("platform-http:/hello").setBody(simple("Hello ${header.name}"));
Serve only GET requests on the /hello
endpoint:
from("platform-http:/hello?httpMethodRestrict=GET").setBody(simple("Hello ${header.name}"));
from("platform-http:/hello?httpMethodRestrict=GET").setBody(simple("Hello ${header.name}"));
62.3.2. Using platform-http via Camel REST DSL Copiar enlaceEnlace copiado en el portapapeles!
To be able to use Camel REST DSL with the platform-http
component, add camel-quarkus-rest
to your pom.xml
:
<dependency> <groupId>org.apache.camel.quarkus</groupId> <artifactId>camel-quarkus-rest</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.quarkus</groupId>
<artifactId>camel-quarkus-rest</artifactId>
</dependency>
Then you can use the Camel REST DSL:
62.3.3. Handling multipart/form-data file uploads Copiar enlaceEnlace copiado en el portapapeles!
You can restrict the uploads to certain file extensions by white listing them:
62.3.4. Securing platform-http endpoints Copiar enlaceEnlace copiado en el portapapeles!
Quarkus provides a variety of security and authentication mechanisms which can be used to secure platform-http
endpoints. Refer to the Quarkus Security documentation for further details.
Within a route, it is possible to obtain the authenticated user and its associated SecurityIdentity
and Principal
:
Also check the quarkus.http.body.*
configuration options in Quarkus documentation, esp. quarkus.http.body.handle-file-uploads
, quarkus.http.body.uploads-directory
and quarkus.http.body.delete-uploaded-files-on-end
.
62.3.5. Implementing a reverse proxy Copiar enlaceEnlace copiado en el portapapeles!
Platform HTTP component can act as a reverse proxy, in that case Exchange.HTTP_URI
, Exchange.HTTP_HOST
headers are populated from the absolute URL received on the request line of the HTTP request.
Here’s an example of a HTTP proxy that simply redirects the Exchange to the origin server.
from("platform-http:proxy") .toD("http://" + "${headers." + Exchange.HTTP_HOST + "}");
from("platform-http:proxy")
.toD("http://"
+ "${headers." + Exchange.HTTP_HOST + "}");
62.4. Additional Camel Quarkus configuration Copiar enlaceEnlace copiado en el portapapeles!
62.4.1. Platform HTTP server configuration Copiar enlaceEnlace copiado en el portapapeles!
Configuration of the platform HTTP server is managed by Quarkus. Refer to the Quarkus HTTP configuration guide for the full list of configuration options.
To configure SSL for the Platform HTTP server, follow the secure connections with SSL guide. Note that configuring the server for SSL with SSLContextParameters
is not currently supported.
62.4.2. Character encodings Copiar enlaceEnlace copiado en el portapapeles!
Check the Character encodings section of the Native mode guide if you expect your application to send or receive requests using non-default encodings.