enum 50005 "Http Requests Enum"
{
Extensible = true;
value(0; Get) { }
value(1; patch) { }
value(2; post) { }
value(3; delete) { }
}
procedure CallWebService(RequestUrl: Text; RequestType: Enum "Http Requests Enum"; payload: Text; Username: Text; Password: Text; ApiKey: text): Text
var
Client: HttpClient;
RequestHeaders: HttpHeaders;
RequestContent: HttpContent;
ResponseMessage: HttpResponseMessage;
RequestMessage: HttpRequestMessage;
ResponseText: Text;
contentHeaders: HttpHeaders;
folderName: Text;
FileName: Text;
fielcontent: Text;
begin
RequestHeaders := Client.DefaultRequestHeaders();
case RequestType of
RequestType::Get:
begin
RequestContent.WriteFrom(payload);
RequestContent.GetHeaders(contentHeaders);
contentHeaders.Clear();
contentHeaders.Add('Content-Type', 'application/json');
if ApiKey <> '' then
contentHeaders.Add('XApiKey', ApiKey);
RequestMessage.Content := RequestContent;
RequestMessage.SetRequestUri(RequestURL);
RequestMessage.Method := 'GET';
Client.send(RequestMessage, ResponseMessage);
end;
// Client.Get(RequestURL, ResponseMessage);
RequestType::patch:
begin
RequestContent.WriteFrom(payload);
RequestContent.GetHeaders(contentHeaders);
contentHeaders.Clear();
contentHeaders.Add('Content-Type', 'application/json-patch+json');
if ApiKey <> '' then
contentHeaders.Add('XApiKey', ApiKey);
RequestMessage.Content := RequestContent;
RequestMessage.SetRequestUri(RequestURL);
RequestMessage.Method := 'PATCH';
client.Send(RequestMessage, ResponseMessage);
end;
RequestType::post:
begin
RequestContent.WriteFrom(payload);
RequestContent.GetHeaders(contentHeaders);
contentHeaders.Clear();
contentHeaders.Add('Content-Type', 'application/json');
if ApiKey <> '' then
contentHeaders.Add('XApiKey', ApiKey);
Client.Post(RequestURL, RequestContent, ResponseMessage);
end;
RequestType::delete:
Client.Delete(RequestURL, ResponseMessage);
end;
ResponseMessage.Content().ReadAs(ResponseText);
exit(ResponseText);
end;
}
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter