AJUSTE PARA LEITURA DE CONTEÚDO DO BODY NO FORMATO RAW E BIN.
[+]uDWJSONObject.pas - Novas propriedades na classe TJSONParam para identificar os arquivos recebidos:
Property ParamFileName : String;
Property ParamContentType : String;
-ParamFileName diz o nome do arquivo recebido por upload;
-ParamContentType diz o MIMEType do arquivo, dessa forma pode se decidir como salvar o arquivo;
[+]uSysTypes.pas - Implementação de novas Class Function para realizar o parse do conteúdo recebido no Body.
Class Function ParseBodyRawToDWParam(const BodyRaw: String; vEncoding: TEncodeSelect; var ResultPR: TDWParams): Boolean;
Class Function ParseBodyBinToDWParam(const BodyBin: String; vEncoding: TEncodeSelect; var ResultPR: TDWParams): Boolean;
[*]uRESTDWBase.pas - Correção na classe TRESTServicePooler.
+Receber o Upload de mais de um arquivo de outros Clients através de multpart/form-data.
Os arquivos agora poderão ser recuperados através dos DWParams identificados com ParamName='dwfilename'. Duas nova propriedades
foram acrescentadas em DWParams, são elas:
-(Nova Property)ParamFileName (Nome do arquivo recebido por upload);
-(Nova Property)ParamContentType (MIMEType do arquivo, ex.: application/pdf, image/jpg, application/xml, etc...)
+Ajuste para leitura de conteúdo do Body no formato Raw e Bin.
O conteúdo recebido no Body deve ser lido através dos DWParams e são identificado com ParamName='UNDEFINED', preferencialmente
caso o usuário deseje, ele pode indetificar o Parâmetro com outro nome, para tanto basta enviar na requisição um parâmetro do tipo
"dwParamNameBody", conforme exemplo abaixo:
curl -X POST \
http://localhost:8082/Uploads/InputUpload?dwParamNameBody=Conteudo \
dessa forma o parâmetro será identificado no servidor com ParamName='Conteudo' e não mais como ParaName='UNDEFINED'.
Obs.: dwParamNameBody, poderá ser enviado na requisição tanto na URL quanto no Header que o server RDW irá indetificá-lo.
Para POST com Body no formato BIN, o parâmetro do tipo "dwFileNameBody" também poderá ser enviado via URL ou Header da requisição
contendo o nome do arquivo binário enviado no corpo da requisição, conforme exemplo:
curl -X POST \
http://localhost:8082/Uploads/InputUpload?dwParamNameBody=Conteudo&dwFileNameBody=MeuArquivo.pdf \
dessa forma o nome do arquivo e seu tipo podem ser lidos em DWParams na nova propriedade ParamFileName e ParamContentType respectivamente.