Dieser Inhalt ist in der von Ihnen ausgewählten Sprache nicht verfügbar.
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 Link kopierenLink in die Zwischenablage kopiert!
-
Platform HTTP component, URI syntax:
platform-http:path
Please refer to the above link for usage and configuration details.
62.2. Maven coordinates Link kopierenLink in die Zwischenablage kopiert!
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 Link kopierenLink in die Zwischenablage kopiert!
62.3.1. Basic Usage Link kopierenLink in die Zwischenablage kopiert!
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 Link kopierenLink in die Zwischenablage kopiert!
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 Link kopierenLink in die Zwischenablage kopiert!
You can restrict the uploads to certain file extensions by white listing them:
62.3.4. Securing platform-http endpoints Link kopierenLink in die Zwischenablage kopiert!
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 Link kopierenLink in die Zwischenablage kopiert!
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 Link kopierenLink in die Zwischenablage kopiert!
62.4.1. Platform HTTP server configuration Link kopierenLink in die Zwischenablage kopiert!
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 Link kopierenLink in die Zwischenablage kopiert!
Check the Character encodings section of the Native mode guide if you expect your application to send or receive requests using non-default encodings.