KETTLE-86: Enable Kettle HTTP requests to be fulfilled with variant status codes

Metadata

Source
KETTLE-86
Type
Improvement
Priority
Major
Status
Resolved
Resolution
Fixed
Assignee
Antranig Basman
Reporter
Philip Tchernavskij
Created
2020-06-18T13:31:43.530-0400
Updated
2020-07-16T11:14:59.883-0400
Versions
N/A
Fixed Versions
N/A
Component
N/A

Description

Currently, Kettle's kettle.request.http grade assumes that all successful responses will have the status code 200. Furthermore, when such a request specifying JSON as the content type is honored by calling request.events.onSuccess.fire() without any parameters, the response is considered invalid by browser ajax implementations (presumably because the undefined payload is not valid JSON).

The grade should be amended to a) allow for specifying alternate response codes such as 201 (Created) or 204 (No Content), and possibly b) check that the content type and response payload match up.