Skip to content
Release: Australia · Updated: 2026-03-12 · Official documentation · View source

GlideHTTPRequest- Global

The GlideHTTPRequest API provides utility methods to perform common functions with Glide HTTP requests.

You can use this API in global server-side scripts. To use this class, instantiate a GlideHTTPRequest object using the constructor. The constructor requires an endpoint URL as an input parameter.

Parent Topic:Server API reference

GlideHTTPRequest - addHeader(String name, String value)

Adds a header to your HTTP request.

NameTypeDescription
nameStringHeader name, such as Accept or Content-Type.
valueStringHeader value, such as application/json.
TypeDescription
void 

This example adds the request header "Accept" and returns the number of the incidents from a ServiceNow Instance, parsing the JSON or XML responses.

var instance = 'dev12345';
var username = 'admin';
var password = 'yourpassword';

// Instantiate request with ServiceNow API incidents table endpoint
var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');

// Add authentication data
request.setBasicAuth(username, password);

// Add the Accept header to get JSON response
request.addHeader('Accept', 'application/json');

// Execute the GET request
var response = request.get();

// Print the results: status code and number of records returned
gs.print(response.getStatusCode());
gs.print('(JSON) Incidents returned: ' + JSON.parse(response.getBody()).result.length);

// Replace the Accept header to get XML response
request.addHeader('Accept', 'application/xml');

// Execute the GET request
var response = request.get();

// Print the results: status code and number of records returned
gs.print(response.getStatusCode());
gs.print('(XML) Incidents returned: ' + gs.xmlToJSON(response.getBody()).response.result.length);

Output

200
(JSON) Incidents returned: 66
200
(XML) Incidents returned: 66

GlideHTTPRequest - addParameter(String name, String value)

Adds a parameter to your HTTP request.

NameTypeDescription
nameStringParameter to add, such as sysparm_limit.
valueStringValue for the parameter.
TypeDescription
void 

This example shows how to add the sysparm_limit parameter to the REST endpoint call to limit the number of returned responses.

var instance = 'dev12345';
var username = 'admin';
var password = 'yourpassword';

// Instantiate request with ServiceNow API incidents table endpoint
var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');

// Add authentication data
request.setBasicAuth(username, password);

// Add the 'sysparm_limit' parameter to limit the number of records returned
request.addParameter('sysparm_limit', 1);

// Execute the GET request
var response = request.get();

// Print the results: status code and number of records returned
gs.print(response.getStatusCode());
gs.print('Incidents returned: ' + JSON.parse(response.getBody()).result.length);

Output:

200
Incidents returned: 1

GlideHTTPRequest - setBasicAuth(String userName, String password)

Sets a user name and password for basic authentication.

NameTypeDescription
userNameStringUser name to use for authentication.
passwordStringUser's password to use for authentication.
TypeDescription
void 

This example shows how to use the setBasicAuth() method to set the user name and password for the associated REST endpoint call.

var instance = 'dev12345';
var username = 'admin';
var password = 'yourpassword';

// Instantiate request with ServiceNow API incidents table endpoint
var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');

// Add authentication data
request.setBasicAuth(username, password);

// Add the Accept header to get JSON response
request.addHeader('Accept', 'application/json');

// Execute the GET request
var response = request.get();

// Print the results: status code and number of records returned
gs.print(response.getStatusCode());
gs.print('(JSON) Incidents returned: ' + JSON.parse(response.getBody()).result.length);

// Replace the Accept header to get XML response
request.addHeader('Accept', 'application/xml');

// Execute the GET request
var response = request.get();

// Print the results: status code and number of records returned
gs.print(response.getStatusCode());
gs.print('(XML) Incidents returned: ' + gs.xmlToJSON(response.getBody()).response.result.length);

Output

200
(JSON) Incidents returned: 66
200
(XML) Incidents returned: 66

GlideHTTPRequest - setContentType(String type)

Sets the Content-Type header for your HTTP request to the specified value.

NameTypeDescription
typeStringContent type to set, such as application/json or multipart/form-data. For additional information on Content-Type, see https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Type.
TypeDescription
void 

This example shows how to set the Content-Type request header for a REST endpoint call using the setContentType() method.

var instance = 'dev12345';
var username = 'admin';
var password = 'yourpassword';

// Instantiate request with ServiceNow API incidents table endpoint
var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');

// Add authentication data
request.setBasicAuth(username, password);

// Set up incident record to post

// Set the Content-Type of the POST
request.setContentType('application/json');

// Execute the POST request
var response = request.post();

// Print the results: status code and number of records returned
gs.print(response.getStatusCode());

Output

200

GlideHTTPRequest - setFollowRedirect(boolean followRedirect)

Enables or disables the follow redirect option for a REST endpoint call.

For additional information on HTTP redirects, see https://developer.mozilla.org/en-US/docs/Web/HTTP/Redirections.

NameTypeDescription
followRedirectBooleanFlag that indicates whether the endpoint should follow any URL redirect returned by the endpoint. Valid values: - true: Following any returned redirect. - false: Ignore any returned redirect. Default: true
TypeDescription
void 

This example shows how to turn off redirects for an endpoint call using the setFollowRedirect() method.

var instance = 'dev12345';
var username = 'admin';
var password = 'yourpassword';

// Instantiate request with ServiceNow API incidents table endpoint
var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');

// Add authentication data
request.setBasicAuth(username, password);

// Add the Accept header to get JSON response
request.addHeader('Accept', 'application/json');

// Turn off follow redirect - default is on (true)
request.setFollowRedirect(false);

// Execute the GET request
var response = request.get();

// Print the results: status code and number of records returned
gs.print(response.getStatusCode());

Output

200

GlideHTTPRequest - setHttpTimeout(int timeout)

Sets the HTTP timeout value in milliseconds.

NameTypeDescription
timeoutIntegerTimeout value to set.Unit: Milliseconds
TypeDescription
void 

This example shows how to set the time out value for an endpoint call using the setTimeout() method.

var instance = 'dev12345';
var username = 'admin';
var password = 'yourpassword';

// Instantiate request with ServiceNow API incidents table endpoint
var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');

// Add authentication data
request.setBasicAuth(username, password);

// Add the Accept header to get JSON response
request.addHeader('Accept', 'application/json');

// Set the time out value
request.setHttpTimeOut(1000);

// Execute the GET request
var response = request.get();

// Print the results: status code and number of records returned
gs.print(response.getStatusCode());

Output

200

GlideHTTPRequest - setLogLevel(String logLevel)

Sets the log level for an HTTP request.

NameTypeDescription
logLevelString

The level of logging available. Note: For performance reasons, in production it is advisable to leave HTTP request logging at basic.

Valid values:

  • basic: Covers many of the attributes of the HTTP transaction including host, path, response status, and so on.
  • elevated: Includes all of basic, as well as all request headers, the query string, and all response headers.
  • all: Includes all of elevated, as well as the request body and the response body.

Default: basic

TypeDescription
void 

This example shows how to set the log level for an endpoint call using the setLogLevel() method.

var instance = 'dev12345';
var username = 'admin';
var password = 'yourpassword';

// Instantiate request with ServiceNow API incidents table endpoint
var request = new GlideHTTPRequest('https://'+instance+'.service-now.com/api/now/table/incident');

// Add authentication data
request.setBasicAuth(username, password);

// Add the Accept header to get JSON response
request.addHeader('Accept', 'application/json');

// Set the time out value
request.setLogLevel(elevated);

// Execute the GET request
var response = request.get();

// Print the results: status code and number of records returned
gs.print(response.getStatusCode());

Output

200

GlideHTTPRequest - setupProxy(String host, String port)

Sets the proxy host and port for the associated REST call.

NameTypeDescription
hostStringProxy host
portStringProxy port
TypeDescription
void