Description:

Sends an HTTP Response to the Requestor that generated a FlowFile. This Processor is designed to be used in conjunction with the HandleHttpRequest in order to create a web service.

Tags:

HTTP, HTTPS, response, egress, 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, and whether a property supports the Expression Language Guide.

Name Default Value Allowable Values Description
HTTP Status Code The HTTP Status Code to use when responding to the HTTP Request. See Section 10 of RFC 2616 for more information.
Supports Expression Language: true
HTTP Context Map Controller Service API:
HttpContextMap
Implementation:
StandardHttpContextMap
The HTTP Context Map Controller Service to use for caching the HTTP Request Information

Dynamic Properties:

Dynamic Properties allow the user to specify both the name and value of a property.

Name Value Description
An HTTP header name An HTTP header value These HTTPHeaders are set in the HTTP Response

Relationships:

Name Description
failure FlowFiles will be routed to this Relationship if the Processor is unable to respond to the requestor. This may happen, for instance, if the connection times out or if NiFi is restarted before responding to the HTTP Request.
success FlowFiles will be routed to this Relationship after the response has been successfully sent to the requestor

Reads Attributes:

Name Description
http.context.identifier The value of this attribute is used to lookup the HTTP Response so that the proper message can be sent back to the requestor. If this attribute is missing, the FlowFile will be routed to 'failure.'

Writes Attributes:

None specified.

See Also:

HandleHttpRequest,StandardHttpContextMap,StandardSSLContextService

Usage Description:

The pairing of this Processor with a HandleHttpRequest Processor provides the ability to use NiFi to visually construct a web server that can carry out any functionality that is available through the existing Processors. For example, one could construct a Web-based front end to an SFTP Server by constructing a flow such as:

HandleHttpRequest -> PutSFTP -> HandleHttpResponse

This Processor must be configured with the same service as the corresponding HandleHttpRequest Processor. Otherwise, all FlowFiles will be routed to the 'failure' relationship.