HTTPWebRequest error handling

Hi,

Could the following code work? I can't find the unit for TJSEvent and would like to set Handled to True.

procedure(AReq: TJSXMLHttpRequest; Event: TJSEvent; var Handled: Boolean)

LWebRequest.Execute()(
// Success callback
procedure(AResponse: string; AReq: TJSXMLHttpRequest)
begin
if Assigned(AOnResponse) then
AOnResponse(AReq, AResponse);
LWebRequest.Free;
end,
// Error callback
procedure(AReq: TJSXMLHttpRequest; Event: TJSEvent; var Handled: Boolean)

  • var*
    ErrorResponse: String;
    begin
    try
    // Check if AReq not null
    if Assigned(AReq) then
    begin
    ErrorResponse := AReq.responseText;
    console.log('Error Status:', AReq.Status);
    console.log('Error StatusText:', AReq.StatusText);
    end
    else
    begin
    // Netwerk error (connection refused, timeout, etc.)
    ErrorResponse := 'Network error: Cannot connect to server';
    console.log('Network error - AReq is null');
    end;

    if Assigned(AOnResponse) then
    AOnResponse(AReq, ErrorResponse);
    except
    on E: Exception do
    console.log('Exception in error callback:', E.Message);
    end;
    Handled := True;

    LWebRequest.Free;
    end
    );

TJSEvent is declared in "Core Source\RTL\web.pas".

Fwiw, the full details of the response can also be retrieved via OnRequestResponse via parameter ARequest.req

Thank you for the information.