I'm working with the native cURL options with FileMaker Pro 16/17 and have been able to successfully make requests to various APIs. I've previously posted about getting the HTTP Response Code and got some great suggestions which I've been using. I'm not working some APIs that return multiple response codes, e.g. an HTTP 100 Continue, followed by the actual response code.
I'm trying to come up with a generic custom function/calculation that will be able to recognise when there are multiple response codes and just return the last value, which is the only value that I really care about as that indicates the true success/failure of the particular request.
Here's one example of the response headers that includes multiple response codes:
HTTP/1.1 100 Continue HTTP/1.1 403 Forbidden Server: nginx/1.14.0 Date: Mon, 11 Jun 2018 04:20:38 GMT Content-Type: text/html Transfer-Encoding: chunked Connection: keep-alive Last-Modified: Wed, 10 Aug 2016 00:29:15 GMT Content-Encoding: gzip
and here's another example with different codes:
HTTP/1.1 302 Found Date: Mon, 11 Jun 2018 05:30:54 GMT Content-Type: text/html; charset=UTF-8 Transfer-Encoding: chunked Connection: keep-alive Expires: Thu, 01 Jan 1970 00:00:01 GMT Cache-Control: no-cache Pragma: no-cache X-Form-Cache: MISS-APP Cache-Control: no-store, no-cache, must-revalidate, max-age=0 Via: 1.1 google Alt-Svc: clear CF-Cache-Status: MISS Vary: Accept-Encoding Server: cloudflare CF-RAY: 4291b0375b3031c2-SIN HTTP/1.1 200 OK Content-Type: application/octet-stream Date: Mon, 11 Jun 2018 05:30:55 GMT Transfer-Encoding: chunked
In the first example I'm after the 403 code and in the second example I'm after the 200 code. Anyone have any suggestions for how to tackle this? I'd love to use native cURL options and I believe this one:
would return the code from the last transfer that I'm after, but unfortunately that does not appear to be supported in the native cURL options.