- Subscribe to RSS Feed
- Mark Question as New
- Mark Question as Read
- Float this Question for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
HandleHttpRequest runs twice if requested from browser (Chrome, Firefox)
- Labels:
-
Apache NiFi
Created ‎02-26-2019 04:17 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I need to handle an HTTP request and I need to respond an HTML file with NiFi.
My flow is like
HandleHttpRequest -> ExecuteSQL -> HandleHttpResponse.
I need to query our database to show proper HTML result.
My problem is HandleHttpRequest runs twice for each request when triggered by browsers such as Chrome, Firefox. HandleHttpRequest runs once if I use Postman or SoapUI.
I've tried to eliminate the second call by using HashContent and DetectDuplicate but it makes some of our requests fail. I've investigated the issue and I've found that Chrome and Firefox creates an additional request for displaying favicon and sometimes some other reasons. (Link)
I need to find real request and I need to eliminate other requests. The real request can be the second one depending on the browser status. Browser decides when to create new requests and their orders.
So, my question is how can I run my flow exactly one time when user creates request from their browser? Because I do some operations on the database and second call ruins these operations.
Thanks.
Created ‎02-27-2019 09:30 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've fixed it by using RouteOnAttribute to http.request.url attribute.
Created ‎02-26-2019 06:45 PM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've investigated a bit more and I've found this.
Created ‎02-27-2019 09:30 AM
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I've fixed it by using RouteOnAttribute to http.request.url attribute.
