Represents the http namespace with its fields.
https://help.sap.com/doc/3de842783af24336b6305a3c0223a369/2.0.03/en-US/$.net.http.html
https://github.com/SAP/xsk/tree/main/modules/api/api-xsjs/src/main/resources/META-INF/dirigible/xsk/http
let http = $.net.http;
/*
Read service.xshttpdest inside the Demo package that contains:
host=https://services.odata.org;
pathPrefix=/V4/Northwind/Northwind.svc/;
*/
let destination = http.readDestination("Demo", "service");
// create client
let client = new http.Client();
let request = new http.Request(http.GET, "/"); // new Request(METHOD, PATH)
// the PATH will be prefixed by destination's pathPrefix, e.g. "/search?" on the request
// set the timeout in seconds
client.setTimeout(10);
// send the request and synchronously get the response
client.request(request, dest);
let response = client.getResponse();
// get all the cookies and headers from the response
let cookies = [], headers = [];
for(let i = 0; i< response.cookies.length; i++) {
cookies.push(response.cookies[i]);
}
for(let i = 0; i< response.headers.length; i++) {
headers.push(response.headers[i]);
}
// get the body
let body;
if(!response.body)
body = "";
else
body = response.body;
// close the connection
client.close(); // prevent socket leak - see xsengine.ini: [communication] - max_open_sockets_per_request
// check the contents of the response
$.response.setBody("status: " + response.status + " cookies: " + JSON.stringify(cookies) + " headers: " + JSON.stringify(headers) + " body: " + body.asString());
Classes |
Description |
Status |
Destination |
Contains metadata, for example, host name, port number and custom values. |
✅ |
Client |
HTTP(s) Client for outbound connectivity. This client supports HTTP and HTTPs connections over HTTP or SOCKS proxy. |
✅ |
Request |
Request class to be used with HTTP client. |
✅ |
Methods |
Description |
Status |
readDestination(package, objectName) |
Returns the HTTP destination with the given name as a Destination object. |
✅ |
- HTTP constants for methods
Members |
Type |
Default |
Description |
Status |
OPTIONS |
number |
0 |
HTTP Method OPTIONS. |
✅ |
GET |
number |
1 |
HTTP Method GET. |
✅ |
HEAD |
number |
2 |
HTTP Method HEAD. |
✅ |
POST |
number |
3 |
HTTP Method POST. |
✅ |
PUT |
number |
4 |
HTTP Method PUT. |
✅ |
DEL |
number |
5 |
HTTP Method DEL. |
✅ |
TRACE |
number |
6 |
HTTP Method TRACE. |
✅ |
CONNECT |
number |
7 |
HTTP Method CONNECT. |
✅ |
PATCH |
number |
8 |
HTTP Method PATCH. |
✅ |
- HTTP constants for status codes
Members |
Type |
Default |
Status |
CONTINUE |
number |
100 |
✅ |
SWITCH_PROTOCOL |
number |
101 |
✅ |
OK |
number |
200 |
✅ |
CREATED |
number |
201 |
✅ |
ACCEPTED |
number |
202 |
✅ |
NON_AUTHORITATIVE |
number |
203 |
✅ |
NO_CONTENT |
number |
204 |
✅ |
RESET_CONTENT |
number |
205 |
✅ |
PARTIAL_CONTENT |
number |
206 |
✅ |
MULTIPLE_CHOICES |
number |
300 |
✅ |
MOVED_PERMANENTLY |
number |
301 |
✅ |
FOUND |
number |
302 |
✅ |
SEE_OTHER |
number |
303 |
✅ |
NOT_MODIFIED |
number |
304 |
✅ |
USE_PROXY |
number |
305 |
✅ |
TEMPORARY_REDIRECT |
number |
307 |
✅ |
BAD_REQUEST |
number |
400 |
✅ |
UNAUTHORIZED |
number |
401 |
✅ |
PAYMENT_REQUIRED |
number |
402 |
✅ |
FORBIDDEN |
number |
403 |
✅ |
NOT_FOUND |
number |
404 |
✅ |
METHOD_NOT_ALLOWED |
number |
405 |
✅ |
NOT_ACCEPTABLE |
number |
406 |
✅ |
PROXY_AUTH_REQUIRED |
number |
407 |
✅ |
REQUEST_TIMEOUT |
number |
408 |
✅ |
CONFLICT |
number |
409 |
✅ |
GONE |
number |
410 |
✅ |
LENGTH_REQUIRED |
number |
411 |
✅ |
PRECONDITION_FAILED |
number |
412 |
✅ |
REQUEST_ENTITY_TOO_LARGE |
number |
413 |
✅ |
REQUEST_URI_TOO_LONG |
number |
414 |
✅ |
UNSUPPORTED_MEDIA_TYPE |
number |
415 |
✅ |
REQUESTED_RANGE_NOT_SATISFIABLE |
number |
416 |
✅ |
EXPECTATION_FAILED |
number |
417 |
✅ |
INTERNAL_SERVER_ERROR |
number |
500 |
✅ |
NOT_YET_IMPLEMENTED |
number |
501 |
✅ |
BAD_GATEWAY |
number |
502 |
✅ |
SERVICE_UNAVAILABLE |
number |
503 |
✅ |
GATEWAY_TIMEOUT |
number |
504 |
✅ |
HTTP_VERSION_NOT_SUPPORTED |
number |
505 |
✅ |
https://github.com/SAP/xsk/issues/20
https://github.com/SAP/xsk/tree/main/modules/engines/engine-xsjs/src/test/resources/test/xsk/http/http.xsjs
✅ - Feature implemented and working as supposed.
⚠️ - Feature partially implemented and needs to be finished.
❌ - Feature not implemented yet.