 [semidet,multifile]authentication_hook(+Request, 
+Application, -User)This hook is called from the =/pengine/create= HTTP handler to discover 
whether the server is accessed by an authorized user. It can react in 
three ways:
[semidet,multifile]authentication_hook(+Request, 
+Application, -User)This hook is called from the =/pengine/create= HTTP handler to discover 
whether the server is accessed by an authorized user. It can react in 
three ways:
- Succeed, binding User to a ground term. The authentity of 
the user is available through pengine_user/1.
- Fail. The =/create= succeeds, but the pengine is not associated with 
a user.
- Throw an exception to prevent creation of the pengine. Two 
meaningful exceptions are:
 
- throw(http_reply(authorise(basic(Realm))))Start a 
normal HTTP login challenge (reply 401)
- throw(http_reply(forbidden(Path)))) Reject the request 
using a 403 repply.
 
- See also
- http_authenticate/3 can be used to 
implement this hook using default HTTP authentication data.