---
url: >-
  /statelake/scripting-reference/http-scripting/http-responses/scripting-parameters-and-methods-http-responses.md
---

# Scripting Parameters and Methods - HTTP Responses

There are a number of parameters and methods pertinent to HTTP objects that are available to process an **HTTP Response** in a **Custom Script** within an **Action**, or in script within a **Map** event.

## Script Parameters/Properties For Responses

| Parameter/Property | Description |
|---|---|
| HTTP.Response.ResponseCode | The numeric response code of the **HTTP Response**.Please refer to [HTTP Status Codes](/statelake/scripting-reference/http-scripting/http-status-codes) for more information.**Example**:`if (HTTP.Response.ResponseCode = 404) then   LogError('Someone moved the end point!');`Or,`if HTTP.Response.ResponseCode = 200 then  LogInfo('Response code: ' + HTTP.Response.ResponseText) else  LogError('Error - Response Code: ' + HTTP.Response.ResponseText);` |
| HTTP.Response.ResponseText | The corresponding text that relates to the response code of the **HTTP Response**.For a response code of **404**, the response text would be **Not found**.**Example**:`LogInfo('The connection was: ' + HTTP.Response.ResponseText);`Or,`if HTTP.Response.ResponseCode = 404 then  begin  // document not found... what do we do ?      ...  end else     LogInfo(HTTP.Response.ResponseText);` |
| HTTP.Response.HeaderCount | The number of headers in the **HTTP Response**.**Example**:`if HTTP.Response.HeaderCount > 0 then   LogInfo('There are headers');` |
| HTTP.Response.HeaderName\[n] | The name of header **n** in the **HTTP Response**.**Example**:`LogInfo('Header 2 is: ' + HTTP.Response.HeaderName[2]);` |
| HTTP.Response.HeaderValue\[n] | The value of header **n** in the **HTTP Response**.**Example**:`LogInfo('Header 3 value: ' + HTTP.Response.HeaderValue[3]);` |
| HTTP.Response.HeaderByIndex\[n] | The full header line of header **n** for the **HTTP Response**, such as **Content-Type: application/xml**.**Example**:`LogInfo('Header 4: ' + HTTP.Response.HeaderByIndex[4]);` |
| HTTP.Response.Header\[name] | The value of the named header in the **HTTP Response**.**Example**:`if HTTP.Response.Header['Content-Type'] = 'text/html' then   LogInfo('We got a HTML response!');`Or,`if HTTP.Response.Header['Content-Type'] <> 'application/json' then begin  LogError('Wrong Content-Type returned: '  + HTTP.Response.Header['Content-Type']);  Exit; end;` |
| HTTP.Response.Content.Size | The size of the message body in the **HTTP Response** in bytes.**Example**:`responseSize := HTTP.Response.Content.Size; LogInfo('Message Body: ' + IntToStr(responseSize) + ' bytes');`You need to allocate space for the response in **response_data**. If you don’t allocate space for the response, the read will fail when the response is longer than 80 characters.**Example**:`Setlength(response_data, HTTP.response.content.size); HTTP.response.content.read(response_data, HTTP.response.content.size);` |
| HTTP.Response.ContentAsString | Allows a string value to be assigned directly to the HTTP message body response,**Example**:`vHTTPResponseBodyStr := ''; vHTTPResponseBodyStr := HTTP.Response.ContentAsString;` |

## Script Methods For Responses

| Method | Description |
|---|---|
| HTTP.Response.Content.Read(response_data, size) | Read a **size** amount of the response into **response_data**. If you don’t allocate space for the response, the read will fail when the response is longer than 80 characters.This could be the whole response, or just part of it.**Example**:`size := HTTP.Response.Content.Size; SetLength(response_data, size); HTTP.Response.Content.Read(response_data, size);`Each time you read from the content, that amount is removed from the content stream.This means that you could read the content stream in blocks, you just specify how much you want each time.**Example**:`contentSize := HTTP.Response.Content.Size; SetLength(responseContent, contentSize); HTTP.Response.Content.Read(responseContent, contentSize);`Or,`size := HTTP.Response.Content.Size; SetLength(responde_data, 100); for x := 1 to (size div 100) do begin   HTTP.Response.Content.Read(response_data, 100);   LogInfo(response_data); end;` |
| HTTP.Response.Content | **Example**:\`\` |
