Odczyt nagłówków z cechy ResponseHeaders / RequestHeaders


W przypadku integracji z wykorzystaniem modułu Gate HTTP i RESTful API zdarzają się sytuacje, w których konieczny jest odczyt nagłówków z otrzymanej odpowiedzi, np. w celu uzyskania adresu, pod który należy wysłać kolejne zapytanie.

 

W celu odczytu wartości nagłówków z cechy ResponseHeaders obiektu HttpRequest lub z cechy RequestHeaders obiektu HttpListener należy:

  • utworzyć cechy użytkownika, do których zapisane zostaną wartości nagłówków:



  • utworzyć skrypt, który odczyta wartości nagłówków - cecha ResponseHeaders dla obiektu HttpRequest i cecha RequestHeaders dla obiektu HttpListener przyjmuje postać tablicy, gdzie pod kolejnymi indeksami znajdują się pary name - value, dlatego skrypt powinien wyglądać następująco:

local hdr = HTTP->test_req->ResponseHeaders

for k,v in ipairs(hdr) do

if(v.name=="Location") then
HTTP->hdr_location = v.value
end

if(v.name=="Date") then
HTTP->hdr_date = v.value
end

if(v.name=="X-Content-Type-Options") then
HTTP->hdr_content = v.value
end

end


gdzie:
* Location, Date, X-Content-Type-Options to nazwy otrzymywanych nagłówków,
* hdr_location, hdr_date, hdr_content to cechy użytkownika, do których zapisywane są wartości nagłówków.

  • wywołanie wcześniej utworzonego skryptu przypisać do zdarzenia OnResponse obiektu wirtualnego HttpRequest lub do zdarzenia OnRequest obiektu wirtualnego HttpListener:


 

Po przesłaniu konfiguracji oraz wysłaniu zapytania cechy użytkownika powinny przyjąć odpowiednie wartości: