<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">2018-02-23 19:36 GMT-03:00 Michael Van Canneyt <span dir="ltr"><<a href="mailto:michael@freepascal.org" target="_blank">michael@freepascal.org</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><span class="gmail-"><br></span>
What is not clear ? There are several samples available that show their use ?<br>
<br>
Also the WIKI has some pages about it<br>
<a href="http://wiki.freepascal.org/fcl-web" rel="noreferrer" target="_blank">http://wiki.freepascal.org/fcl<wbr>-web</a><br>
<br>
There are some articles<br>
<a href="https://idefix.freepascal.org/~michael/articles/" rel="noreferrer" target="_blank">https://idefix.freepascal.org/<wbr>~michael/articles/</a><br>
<br>
see the web1 and web2 and webserver articles.<br>
<br>
I think Web2 explains what you need.</blockquote><div><br></div><div>
<span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">According to your article, "Session support is introduced by TSessionHTTPModule". However, TFPHTMLModule descends from TCustomHTMLModule. TCustomHTMLModule descends from TCustomHTTPModule. Then, there is no session support for 

<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">TFPHTMLModule.</span></span></span></div><div><span class="gmail-short_text" lang="en"><span class="gmail-"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></span></span></div><div><span class="gmail-short_text" lang="en"><span class="gmail-"><span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Another point: using 

<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">TFPHTMLModule, request are handled by the module itself 
<span id="gmail-result_box" class="gmail-short_text" lang="en"><span class="gmail-">through the OnGetContent event</span></span>, not by the actions. In the other words, 

<span style="color:rgb(34,34,34);font-family:arial,sans-serif;font-size:small;font-style:normal;font-variant-ligatures:normal;font-variant-caps:normal;font-weight:400;letter-spacing:normal;text-align:start;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">the request never is transferred to the actions.</span></span></span></span></span></div><div><span class="gmail-short_text" lang="en"><span class="gmail-"><span style="text-align:start;text-indent:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-align:start;text-indent:0px;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><div><br></div><div><br></div><div><i>procedure TCustomHTMLModule.HandleRequest(ARequest: TRequest; AResponse: TResponse);</i></div><div><i>Var</i></div><div><i>  FWriter : THTMLWriter;</i></div><div><i>  B : Boolean;</i></div><div><i>  M : TMemoryStream;</i></div><div><i>  </i></div><div><i>begin</i></div><div><i>  FDocument := CreateDocument;</i></div><div><i>  Try</i></div><div><i>    FWriter:=CreateWriter(FDocument);</i></div><div><i>    Try</i></div><div><i>      B:=False;</i></div><div><i>      If Assigned(OnGetContent) then</i></div><div><i>        OnGetContent(Self,ARequest,FWriter,B);</i></div><div><i>      If Not B then</i></div><div><i>        Raise EHTMLError.Create(SErrRequestNotHandled);</i></div><div><i>      If (AResponse.ContentStream=Nil) then</i></div><div><i>        begin</i></div><div><i>        M:=TMemoryStream.Create;</i></div><div><i>        AResponse.ContentStream:=M;</i></div><div><i>        end;</i></div><div><i>      FDocument.SaveToStream(AResponse.ContentStream);</i></div><div><i>    Finally</i></div><div><i>      FreeAndNil(FWriter);</i></div><div><i>    end;</i></div><div><i>  Finally</i></div><div><i>    FreeAndNil(FDocument);</i></div><div><i>  end;</i></div><div><i>end;</i></div></span></span></span></span></div><div><br></div></div></div></div>