Sample code for 30+ languages & platforms
Perl

Enumerate REST Response Header Names

See more REST Examples

Demonstrates Rest.ResponseHdrName, which returns the field name of the response header at a zero-based index. The example enumerates all headers, pairing each name with its value.

Background. Response headers can be enumerated by index from 0 through NumResponseHeaders minus one. ResponseHdrName and ResponseHdrValue use the same index for a given header.

Chilkat Perl Downloads

Perl
use chilkat();

$success = 0;

$rest = chilkat::CkRest->new();
$bTls = 1;
$bAutoReconnect = 1;
$success = $rest->Connect("example.com",443,$bTls,$bAutoReconnect);
if ($success == 0) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

$success = $rest->SendReqNoBody("GET","/api/items/123");
if ($success == 0) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

$statusCode = $rest->ReadResponseHeader();
if ($statusCode < 0) {
    print $rest->lastErrorText() . "\r\n";
    exit;
}

#  Enumerate the response header fields by zero-based index.  ResponseHdrName returns the field name
#  and ResponseHdrValue returns the value at the same index.
$numHeaders = $rest->get_NumResponseHeaders();

for ($i = 0; $i <= $numHeaders - 1; $i++) {
    $name = $rest->responseHdrName($i);
    if ($rest->get_LastMethodSuccess() == 0) {
        print $rest->lastErrorText() . "\r\n";
        exit;
    }

    $value = $rest->responseHdrValue($i);
    if ($rest->get_LastMethodSuccess() == 0) {
        print $rest->lastErrorText() . "\r\n";
        exit;
    }

    print $name . ": " . $value . "\r\n";
}