<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>PostHTTP</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">PostHTTP</h1><h2>Deprecation notice: </h2><p>This processor is deprecated and may be removed in future releases.</p><p>Please consider using one the following alternatives: <a href="../org.apache.nifi.processors.standard.InvokeHTTP/index.html">InvokeHTTP</a></p><h2>Description: </h2><p>Please be aware this processor is deprecated and may be removed in the near future. Use InvokeHTTP instead. Performs an HTTP Post with the content of the FlowFile. Uses a connection pool with max number of connections equal to the number of possible endpoints multiplied by the Concurrent Tasks configuration.</p><h3>Tags: </h3><p>http, https, remote, copy, archive</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>, and whether a property is considered "sensitive", meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the <strong>nifi.properties</strong> file has an entry for the property <strong>nifi.sensitive.props.key</strong>.</p><table id="properties"><tr><th>Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>URL</strong></td><td></td><td id="allowable-values"></td><td id="description">The URL to POST to. The URL may be defined using the Attribute Expression Language. A separate connection pool will be created for each unique host:port combination.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Max Batch Size</td><td id="default-value">100 MB</td><td id="allowable-values"></td><td id="description">If the Send as FlowFile property is true, specifies the max data size for a batch of FlowFiles to send in a single HTTP POST. If not specified, each FlowFile will be sent separately. If the Send as FlowFile property is false, this property is ignored</td></tr><tr><td id="name">Max Data to Post per Second</td><td></td><td id="allowable-values"></td><td id="description">The maximum amount of data to send per second; this allows the bandwidth to be throttled to a specified data rate; if not specified, the data rate is not throttled</td></tr><tr><td id="name">SSL Context Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>SSLContextService<br/><strong>Implementations: </strong><a href="../../../nifi-ssl-context-service-nar/1.18.0/org.apache.nifi.ssl.StandardSSLContextService/index.html">StandardSSLContextService</a><br/><a href="../../../nifi-ssl-context-service-nar/1.18.0/org.apache.nifi.ssl.StandardRestrictedSSLContextService/index.html">StandardRestrictedSSLContextService</a></td><td id="description">The Controller Service to use in order to obtain an SSL Context</td></tr><tr><td id="name">Username</td><td></td><td id="allowable-values"></td><td id="description">Username required to access the URL</td></tr><tr><td id="name">Password</td><td></td><td id="allowable-values"></td><td id="description">Password required to access the URL<br/><strong>Sensitive Property: true</strong></td></tr><tr><td id="name"><strong>Send as FlowFile</strong></td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">If true, will package the FlowFile's contents and attributes together and send the FlowFile Package; otherwise, will send only the FlowFile's content</td></tr><tr><td id="name">Use Chunked Encoding</td><td></td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Specifies whether or not to use Chunked Encoding to send the data. This property is ignored in the event the contents are compressed or sent as FlowFiles.</td></tr><tr><td id="name"><strong>Compression Level</strong></td><td id="default-value">0</td><td id="allowable-values"></td><td id="description">Determines the GZIP Compression Level to use when sending the file; the value must be in the range of 0-9. A value of 0 indicates that the file will not be GZIP'ed</td></tr><tr><td id="name"><strong>Connection Timeout</strong></td><td id="default-value">30 sec</td><td id="allowable-values"></td><td id="description">How long to wait when attempting to connect to the remote server before giving up</td></tr><tr><td id="name"><strong>Data Timeout</strong></td><td id="default-value">30 sec</td><td id="allowable-values"></td><td id="description">How long to wait between receiving segments of data from the remote server before giving up and discarding the partial file</td></tr><tr><td id="name">Attributes to Send as HTTP Headers (Regex)</td><td></td><td id="allowable-values"></td><td id="description">Specifies the Regular Expression that determines the names of FlowFile attributes that should be sent as HTTP Headers</td></tr><tr><td id="name">User Agent</td><td id="default-value">Apache-HttpClient/4.5.13 (Java/1.8.0_345)</td><td id="allowable-values"></td><td id="description">What to report as the User Agent when we connect to the remote server</td></tr><tr><td id="name">Proxy Configuration Service</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>ProxyConfigurationService<br/><strong>Implementation: </strong><a href="../../../nifi-proxy-configuration-nar/1.18.0/org.apache.nifi.proxy.StandardProxyConfigurationService/index.html">StandardProxyConfigurationService</a></td><td id="description">Specifies the Proxy Configuration Controller Service to proxy network requests. If set, it supersedes proxy settings configured per component. Supported proxies: HTTP + AuthN</td></tr><tr><td id="name">Proxy Host</td><td></td><td id="allowable-values"></td><td id="description">The fully qualified hostname or IP address of the proxy server</td></tr><tr><td id="name">Proxy Port</td><td></td><td id="allowable-values"></td><td id="description">The port of the proxy server</td></tr><tr><td id="name"><strong>Content-Type</strong></td><td id="default-value">${mime.type}</td><td id="allowable-values"></td><td id="description">The Content-Type to specify for the content of the FlowFile being POSTed if Send as FlowFile is false. In the case of an empty value after evaluating an expression language expression, Content-Type defaults to application/octet-stream<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>Files that are successfully send will be transferred to success</td></tr><tr><td>failure</td><td>Files that fail to send will transferred to failure</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3>None specified.<h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component requires an incoming relationship.<h3>System Resource Considerations:</h3>None specified.</body></html>