You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rivet-dev@tcl.apache.org by Massimo Manghi <mx...@apache.org> on 2016/11/29 00:28:50 UTC

new RequestHandler, ExportRivetNS, ImportRivetNS

The code in trunk (mod_rivet_ng) handles now 3 more configuration directives

  -- RequestHandler: On a per virtual host basis you can now tell 
mod_rivet which procedure is going to handle *every* request addressed 
to it. The default is ::Rivet::request_handling. The procedure emulates 
the traditional way of handling requests, evaluating BeforeScript, 
URL-referenced script/template, AfterScript and so on. You may check it 
out in rivet/init.tcl.in. If your code is doing everything on its own 
([::rivet::abort_page] exceptions and error handling included) you can 
replace this procedure with your application root procedure.

  -- ImportRivetNS,ExportRivetNS: they control the export/import of the 
::rivet::* namespace commands into the global namespace for 
compatibility with former versions of rivet. This is different from 
rivet 2.3 where this is controlled at compile time. There are a few 
problems though with these directives that need to be fixed (they don't 
break the module to the point of making it unusable)

the next step will see the parser change: currently .rvt files are read, 
parsed and the output placed within a
'namespace eval ::request {}' construct. This will go into 
::Rivet::request_handling and the parser will simply output the original 
code. Since ::Rivet::initialize_request basically lays down the 
::request namespace I think we may include its code in 
::Rivet::request_handling. I think we are migrating to a model where the 
::request namespace is just part of a special approach to request 
processing. Though clever and wise such approach shouldn't be soldered 
to mod_rivet but rather be a movable part

  -- Massimo


---------------------------------------------------------------------
To unsubscribe, e-mail: rivet-dev-unsubscribe@tcl.apache.org
For additional commands, e-mail: rivet-dev-help@tcl.apache.org