HandleHttpRequest

Description:

Starts an HTTP Server and listens for HTTP Requests. For each request, creates a FlowFile and transfers to 'success'. This Processor is designed to be used in conjunction with the HandleHttpResponse Processor in order to create a Web Service

Additional Details...

Tags:

http, https, request, listen, ingress, web service

Properties:

In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values.

NameDefault ValueAllowable ValuesDescription
Listening Port80The Port to listen on for incoming HTTP requests
HostnameThe Hostname to bind to. If not specified, will bind to all hosts
SSL Context ServiceController Service API:
RestrictedSSLContextService
Implementation: StandardRestrictedSSLContextService
The SSL Context Service to use in order to secure the server. If specified, the server will accept only HTTPS requests; otherwise, the server will accept only HTTP requests
HTTP Context MapController Service API:
HttpContextMap
Implementation: StandardHttpContextMap
The HTTP Context Map Controller Service to use for caching the HTTP Request Information
Allowed PathsA Regular Expression that specifies the valid HTTP Paths that are allowed in the incoming URL Requests. If this value is specified and the path of the HTTP Requests does not match this Regular Expression, the Processor will respond with a 404: NotFound
Default URL Character SetUTF-8The character set to use for decoding URL parameters if the HTTP Request does not supply one
Allow GETtrue
  • true
  • false
Allow HTTP GET Method
Allow POSTtrue
  • true
  • false
Allow HTTP POST Method
Allow PUTtrue
  • true
  • false
Allow HTTP PUT Method
Allow DELETEtrue
  • true
  • false
Allow HTTP DELETE Method
Allow HEADfalse
  • true
  • false
Allow HTTP HEAD Method
Allow OPTIONSfalse
  • true
  • false
Allow HTTP OPTIONS Method
Additional HTTP MethodsA comma-separated list of non-standard HTTP Methods that should be allowed
Client AuthenticationNo Authentication
  • No Authentication Processor will not authenticate clients. Anyone can communicate with this Processor anonymously
  • Want Authentication Processor will try to verify the client but if unable to verify will allow the client to communicate anonymously
  • Need Authentication Processor will reject communications from any client unless the client provides a certificate that is trusted by the TrustStorespecified in the SSL Context Service
Specifies whether or not the Processor should authenticate clients. This value is ignored if the <SSL Context Service> Property is not specified or the SSL Context provided uses only a KeyStore and not a TrustStore.
Container Queue Size50The size of the queue for Http Request Containers

Relationships:

NameDescription
successAll content that is received is routed to the 'success' relationship

Reads Attributes:

None specified.

Writes Attributes:

NameDescription
http.context.identifierAn identifier that allows the HandleHttpRequest and HandleHttpResponse to coordinate which FlowFile belongs to which HTTP Request/Response.
mime.typeThe MIME Type of the data, according to the HTTP Header "Content-Type"
http.servlet.pathThe part of the request URL that is considered the Servlet Path
http.context.pathThe part of the request URL that is considered to be the Context Path
http.methodThe HTTP Method that was used for the request, such as GET or POST
http.local.nameIP address/hostname of the server
http.server.portListening port of the server
http.query.stringThe query string portion of the Request URL
http.remote.hostThe hostname of the requestor
http.remote.addrThe hostname:port combination of the requestor
http.remote.userThe username of the requestor
http.protocolThe protocol used to communicate
http.request.uriThe full Request URL
http.auth.typeThe type of HTTP Authorization used
http.principal.nameThe name of the authenticated user making the request
http.subject.dnThe Distinguished Name of the requestor. This value will not be populated unless the Processor is configured to use an SSLContext Service
http.issuer.dnThe Distinguished Name of the entity that issued the Subject's certificate. This value will not be populated unless the Processor is configured to use an SSLContext Service
http.headers.XXXEach of the HTTP Headers that is received in the request will be added as an attribute, prefixed with "http.headers." For example, if the request contains an HTTP Header named "x-my-header", then the value will be added to an attribute named "http.headers.x-my-header"

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component does not allow an incoming relationship.

See Also:

HandleHttpResponse