fpWeb, apache module can't read contentFields
Original Reporter info from Mantis: sergechelli
-
Reporter name: Serge Chelli
Original Reporter info from Mantis: sergechelli
- Reporter name: Serge Chelli
Description:
When using an apache module with fpWeb, contentFields (POST) are not read.
I fix this bug by adding a call to ReadContent in procedure TApacheRequest.InitFromRequest of unit fpapache.pp :
procedure TApacheRequest.InitFromRequest;
Var
H : THeader;
V : String;
I : Integer;
begin
ParseCookies;
For H in THeader do
begin
V:=MaybeP(apr_table_get(FRequest^.headers_in,PAnsiChar(HTTPHeaderNames[h])));
If (V<>'') then
SetHeader(H,V);
end;
// Some Specials;
SetHeader(hhContentEncoding,MaybeP(FRequest^.content_encoding));
SetHTTPVariable(hvHTTPVersion,MaybeP(FRequest^.protocol));
SetHTTPVariable(hvPathInfo,MaybeP(FRequest^.path_info));
SetHTTPVariable(hvPathTranslated,MaybeP(FRequest^.filename));
If (FRequest^.Connection<>Nil) then
begin
SetHTTPVariable(hvRemoteAddress,MaybeP(FRequest^.Connection^.remote_ip));
SetHTTPVariable(hvRemoteHost,MaybeP(ap_get_remote_host(FRequest^.Connection,
FRequest^.per_dir_config, REMOTE_NAME,@i)));
end;
V:=MaybeP(FRequest^.unparsed_uri);
I:=Pos('?',V)-1;
If (I=-1) then
I:=Length(V);
SetHTTPVariable(hvScriptName,Copy(V,1,I-Length(PathInfo)));
SetHTTPVariable(hvServerPort,IntToStr(ap_get_server_port(FRequest)));
SetHTTPVariable(hvMethod,MaybeP(FRequest^.method));
SetHTTPVariable(hvURL,FRequest^.unparsed_uri);
SetHTTPVariable(hvQuery,MaybeP(FRequest^.args));
SetHeader(hhHost,MaybeP(FRequest^.HostName));
ReadContent; // <-- add by Serge 2017-02-17 to read contentFields
end;
Mantis conversion info:
- Mantis ID: 31416
- Version: 1.6.2
- Fixed in version: 3.1.1
- Fixed in revision: 37861 (#97b3c0b0)
- Target version: 3.2.0