Represents the http namespace with its fields.
https://help.sap.com/doc/3de842783af24336b6305a3c0223a369/2.0.03/en-US/$.net.http.html
https://github.com/codbex/codbex-kronos/tree/main/modules/api/api-xsjs/src/main/resources/META-INF/dirigible/kronos/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/codbex/codbex-kronos/tree/main/modules/engines/engine-xsjs/src/test/resources/META-INF/dirigible/test/kronos/http
✅ - Feature implemented and working as supposed.
⚠️ - Feature partially implemented and needs to be finished.
❌ - Feature not implemented yet.