The body is called by the module library(http/http_wrapper.pl). 
This module realises the communication between the I/O streams and the 
body described in section 3.1. The 
interface is realised by
http_wrapper/5:
’Keep-alive’ if both ends of the connection 
want to continue the connection or close if either side 
wishes to close the connection.
This predicate reads an HTTP request-header from In, 
redirects current output to a memory file and then runs call(Goal, 
Request), watching for exceptions and failure. If Goal 
executes successfully it generates a complete reply from the created 
output. Otherwise it generates an HTTP server error with additional 
context information derived from the exception.
http_wrapper/5 supports the following options:
        ...,
        format('Set-Cookie: ~w=~w; path=~w~n', [Cookie, SessionID, Path]),
        ...,
If ---for whatever reason--- the conversion is not possible it simply unifies RelPath to AbsPath.