From c2d2a25ce0b7c033a1141dbd1001c6bbfd2714a5 Mon Sep 17 00:00:00 2001 From: viniciussanchez Date: Thu, 21 Jan 2021 08:59:10 -0300 Subject: [PATCH] Added options parameter on AddHeader method (restclient) --- src/RESTRequest4D.Request.Client.pas | 5 +++-- src/RESTRequest4D.Request.Contract.pas | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/RESTRequest4D.Request.Client.pas b/src/RESTRequest4D.Request.Client.pas index 2dec695..46d6ff0 100644 --- a/src/RESTRequest4D.Request.Client.pas +++ b/src/RESTRequest4D.Request.Client.pas @@ -52,7 +52,7 @@ TRequestClient = class(TInterfacedObject, IRequest) function AddBody(const AContent: TObject; const AOwns: Boolean = True): IRequest; overload; function AddBody(const AContent: TStream; const AOwns: Boolean = True): IRequest; overload; function ClearHeaders: IRequest; - function AddHeader(const AName, AValue: string): IRequest; + function AddHeader(const AName, AValue: string; const AOptions: TRESTRequestParameterOptions = []): IRequest; function ClearParams: IRequest; function ContentType(const AContentType: string): IRequest; function UserAgent(const AName: string): IRequest; @@ -135,7 +135,7 @@ function TRequestClient.AddFile(const AName: string; const AValue: TStream): IRe {$ENDIF} end; -function TRequestClient.AddHeader(const AName, AValue: string): IRequest; +function TRequestClient.AddHeader(const AName, AValue: string; const AOptions: TRESTRequestParameterOptions): IRequest; begin Result := Self; if AName.Trim.IsEmpty or AValue.Trim.IsEmpty then @@ -143,6 +143,7 @@ function TRequestClient.AddHeader(const AName, AValue: string): IRequest; if FHeaders.IndexOf(AName) < 0 then FHeaders.Add(AName); FRESTRequest.Params.AddHeader(AName, AValue); + FRESTRequest.Params.ParameterByName(AName).Options := AOptions; end; function TRequestClient.AddParam(const AName, AValue: string; const AKind: TRESTRequestParameterKind): IRequest; diff --git a/src/RESTRequest4D.Request.Contract.pas b/src/RESTRequest4D.Request.Contract.pas index 4a3fc85..a750406 100644 --- a/src/RESTRequest4D.Request.Contract.pas +++ b/src/RESTRequest4D.Request.Contract.pas @@ -45,7 +45,9 @@ interface {$IF DEFINED(RR4D_INDY) or DEFINED(FPC) or DEFINED(RR4D_NETHTTP)} function AddParam(const AName, AValue: string): IRequest; function AddBody(const AContent: string): IRequest; overload; + function AddHeader(const AName, AValue: string): IRequest; {$ELSE} + function AddHeader(const AName, AValue: string; const AOptions: TRESTRequestParameterOptions = []): IRequest; function AddParam(const AName, AValue: string; const AKind: TRESTRequestParameterKind = {$IF COMPILERVERSION < 33}TRESTRequestParameterKind.pkGETorPOST{$ELSE}TRESTRequestParameterKind.pkQUERY{$ENDIF}): IRequest; function AddBody(const AContent: string; const AContentType: TRESTContentType = ctAPPLICATION_JSON): IRequest; overload; {$ENDIF} @@ -54,7 +56,6 @@ interface function AddBody(const AContent: TObject; const AOwns: Boolean = True): IRequest; overload; function AddBody(const AContent: TStream; const AOwns: Boolean = True): IRequest; overload; function ClearHeaders: IRequest; - function AddHeader(const AName, AValue: string): IRequest; function ClearParams: IRequest; function UserAgent(const AName: string): IRequest; function ContentType(const AContentType: string): IRequest;