Details
| ID | http |
|---|---|
| Language | javascript |
| From Version | 5.0.0 |
| Tags | Utility |
README
Sends a HTTP request and returns the response as JSON.
Script Data
| Name | Description |
|---|---|
| Script Type | javascript |
| Tags | Utility |
| Cortex XSOAR Version | 3.5.0+ |
Inputs
| Argument Name | Description |
|---|---|
| method | The method for the http request. |
| body | The body for the http request. |
| url | The URL for the http request. |
| headers | The headers for the http request, in the format of “key1:value1,key2:value2, …”. |
| insecure | Trust any certificate (not secure). |
| unsecure | Trust any certificate (not secure). |
| proxy | Use the system proxy settings. |
| username | The user for the http request. |
| password | The password for the http request. |
| saveAsFile | Whether to save the file. The default is “no”. |
| filename | The filename from headers if the filename is not given. The default is “http-file”. |
Outputs
| Path | Description | Type |
|---|---|---|
| HttpRequest.Response | The response for the http request. | Unknown |
var requestObj = { Method: args.method, }; if (args.username) { requestObj.Username = args.username; } if (args.username) { requestObj.Password = args.password; } if (args.body) { var body = (typeof args.body) === 'string' ? args.body : JSON.stringify(args.body); requestObj.Body = body; } if (args.headers) { var headersJs = {}; var headersArr = args.headers.split(','); for (i = 0; i < headersArr.length; i++) { var keyValue = headersArr[i].split(':'); if (keyValue.length != 2 ){ throw 'Invalid headers. Please make sure you have entered "headers" in correct format.'; } else { headersJs[keyValue[0]] = [keyValue[1]]; } } requestObj.Headers = headersJs; } if (args.saveAsFile === 'yes') { requestObj.SaveToFile = true; } var unsecure = (args.unsecure === 'true' || args.insecure === 'true'); var proxy = (args.proxy === 'true'); // Add scheme if needed var url = args.url; var urlLowerCase = url.toLowerCase(); if (!urlLowerCase.startsWith('http://') && !urlLowerCase.startsWith('https://')) { url = 'http://' + url; } var res = http(url, requestObj, unsecure, proxy); var fileName; if (args.filename) { fileName = args.filename; } else if (res && res.Headers && res.Headers['Content-disposition'] && res.Headers['Content-disposition'].length > 0) { fileName = res.Headers['Content-disposition'][0]; } else { fileName = 'http-file'; } if (args.saveAsFile === 'yes') { return { Type: 3, FileID: res.Path, File: fileName, Contents: fileName }; } return { Type: entryTypes.note, Contents: res, ContentsFormat: formats.json, EntryContext: { 'HttpRequest.Response': res } };