-
Notifications
You must be signed in to change notification settings - Fork 18
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Erro com form-data no lazarus #15
Comments
fazendo mais testes, verifiquei q o problema ocorre de forma geral, nao funciona com nenhuma requisicao no lazarus |
Poderia montar algum exemplo? Porque eu peguei a pasta samples, e testei... aparentemente está normal no Delphi / Lazarus |
Quando você faz um request utilizando o form-data e na sua função, você não está usando octet-stream, como no código abaixo, ele dá o raise mencionado pelo @mbertolani. Ao usar o octet-stream, ele funciona. Acredito que seja necessário incluir uma configuração se queremos usar o octet-stream na função ou não. Acredito que isso resolveria o problema. function TFile.Upload(aFileName: string; aFile: TStream): string;
except |
Criei um Middleware para resolver esse erro da seguinte forma: E adicionei o Middleware antes do Octet-stream: |
O que você pode fazer também, é aplicar o middleware de OctetStream apenas nas rotas específicas no qual o mesmo seria necessário. Assim acredito que não precisaria criar seu próprio middleware. |
quando a requisicao é feita via form-data a condição do "if MatchText" da falso e dispara o raise.
if (Req.MethodType in [mtPost, mtPut, mtPatch]) then
begin
if (MatchText(Req.RawWebRequest.ContentType, THorseOctetStreamConfig.GetInstance.AcceptContentType.ToArray)) then
begin
LContentType := Req.RawWebRequest.ContentType;
LContent := TMemoryStream.Create;
LContentTMemoryStream := TMemoryStream(LContent);
GetAllDataAsStream(Req, LContentTMemoryStream);
Req.Body(LContent);
end
else
raise EHorseException.New.Error('Unknown Content-Type: ' + Req.RawWebRequest.ContentType).Status(THTTPStatus.BadRequest);
end;
The text was updated successfully, but these errors were encountered: