From: Jeff R. <dv...@us...> - 2011-10-11 08:03:11
|
Update of /cvsroot/aolserver/aolserver/doc In directory vz-cvs-4.sog:/tmp/cvs-serv9311/doc Modified Files: Ns_Filter.3 ns_filter.n Log Message: add various functions, mostly from SF RFEs - pre-write filter, response content modification, insert/append filter, priority filters, ns_conn gzip flag, re-run filters on redirect with new config option "filterredirect", add new constants, fix STREQ macro Index: Ns_Filter.3 =================================================================== RCS file: /cvsroot/aolserver/aolserver/doc/Ns_Filter.3,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** Ns_Filter.3 8 Dec 2009 04:13:18 -0000 1.6 --- Ns_Filter.3 11 Oct 2011 08:03:09 -0000 1.7 *************** *** 58,66 **** .AP int when in ! OR-ed combination of the values \fBNS_FILTER_READ\fR, ! \fBNS_FILTER_PRE_QUEUE\fR, \fBNS_FILTER_PRE_AUTH\fR, ! \fBNS_FILTER_POST_AUTH\fR, \fBNS_FILTER_WRITE\fR, and ! \fBNS_FILTER_TRACE\fI indicating the connection state at ! which \fIproc\fR should be invoked. .AP void *arg in --- 58,76 ---- .AP int when in ! OR-ed combination of flags controlling when ! .B proc ! is to be invoked. Suppoeted values ! are ! .BR NS_FILTER_READ , ! .BR NS_FILTER_PRE_QUEUE , ! .BR NS_FILTER_PRE_AUTH , ! .BR NS_FILTER_POST_AUTH , ! .BR NS_FILTER_PRE_WRITE , ! .BR NS_FILTER_WRITE , ! .BR NS_FILTER_TRACE , ! .BR NS_FILTER_PRIORITY(prio) , ! .BR NS_FILTER_INSERT , ! .BR NS_FILTER_APPEND . ! See below for more information. .AP void *arg in *************** *** 131,140 **** to access addition, possibly blocking network resources before queueing the thread for processing. ! If this \fIproc\fR returns a value other than \fBNS_OK\fR, the conneciton will be aborted. .sp NOTE: See the comments above for \fBNS_FILTER_READ\fR for caveats ! of \fIproc\fR being invoked in a thread other than the conneciton processing thread. --- 141,150 ---- to access addition, possibly blocking network resources before queueing the thread for processing. ! If this \fIproc\fR returns a value other than \fBNS_OK\fR, the connection will be aborted. .sp NOTE: See the comments above for \fBNS_FILTER_READ\fR for caveats ! of \fIproc\fR being invoked in a thread other than the connection processing thread. *************** *** 148,151 **** --- 158,188 ---- .TP + NS_FILTER_PRE_WRITE + Invoke + .I proc + just before sending content to the client. A filter at this point can + access content to be sent with + .BR Ns_ConnGetResponseContent, + set it with + .BR Ns_ConnSetResponseContent, + or append to it with + .B Ns_ConnAppendResponseContent. + + .sp + NOTE(1): This filter may not get called at all for a response; in + particular FastPath responses will bypass it, as will content sent by + the lower-level i/o functions. + + .sp + NOTE(2): This filter may be invoked from the connection thread or + from a different thread. See the comments above for + .B NS_FILTER_READ + for caveats + of + .I proc + being invoked in a thread other than the connection + processing thread. + + .TP NS_FILTER_WRITE Invoke \fIproc\fR after each write to the client. *************** *** 157,160 **** --- 194,213 ---- NS_FILTER_TRACE + .TP + NS_FILTER_PRIORITY(prio) + Sets the priortiy of this filter. Valid values for prio are -128 to + 127. Numerically lower values have higher priority, i.e., they will + be executed first. The default priority value is 0; values outside the + range [-100 .. 100] are reserved for system use. + + .TP + NS_FILTER_INSERT + Insert this filter at the beginning of the list of filters with equal + priority. + + .TP + NS_FILTER_APPEND + Append this filter to the end of the list of filters with equal priority. + This flag is the default. .SH "SEE ALSO" Index: ns_filter.n =================================================================== RCS file: /cvsroot/aolserver/aolserver/doc/ns_filter.n,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ns_filter.n 8 Dec 2009 15:33:00 -0000 1.5 --- ns_filter.n 11 Oct 2011 08:03:09 -0000 1.6 *************** *** 43,57 **** \fBns_register_trace \fImethod url script ?arg?\fR .sp ! \fBns_register_filter read\fR \fImethod url script ?arg?\fR .sp ! \fBns_register_filter prequeue\fR \fImethod url script ?arg?\fR .sp ! \fBns_register_filter preauth\fR \fImethod url script ?arg?\fR .sp ! \fBns_register_filter postauth\fR \fImethod url script ?arg?\fR .sp ! \fBns_register_filter write\fR \fImethod url script ?arg?\fR .sp ! \fBns_register_filter trace\fR \fImethod url script ?arg?\fR .BE --- 43,59 ---- \fBns_register_trace \fImethod url script ?arg?\fR .sp ! \fBns_register_filter read\fR \fI?-insert|-append? ?-priority num? method url script ?arg?\fR .sp ! \fBns_register_filter prequeue\fR \fI?-insert|-append? ?-priority num? method url script ?arg?\fR .sp ! \fBns_register_filter preauth\fR \fI?-insert|-append? ?-priority num? method url script ?arg?\fR .sp ! \fBns_register_filter postauth\fR \fI?-insert|-append? ?-priority num? method url script ?arg?\fR .sp ! \fBns_register_filter prewrite\fR \fI?-insert|-append? ?-priority num? method url script ?arg?\fR .sp ! \fBns_register_filter write\fR \fI?-insert|-append? ?-priority num? method url script ?arg?\fR ! .sp ! \fBns_register_filter trace\fR \fI?-insert|-append? ?-priority num? method url script ?arg?\fR .BE *************** *** 89,92 **** --- 91,118 ---- .PP + The + .I -priority num + option controls the order in which filters will be executed for a given + phase. The valid range for + .I num + is -128 to 127, with lower values having higher priority, i.e., they + will be executed sooner. The default priority is 0. Priority values + outside the range [-100 .. 100] are reserved for system use. + + .PP + The + .I -insert + or + .I -append + options control where a new filter is added in relation to other + filters of equal priority. + .I -insert + causes the filter to be added to the front of the list (executed first), + while + .I -append + causes it to be added to the end of the list. The default is + .I -append + + .PP The \fIproc\fR argument is the name of a Tcl procedure to invoke when the connection has reached the requested state. The \fIproc\fR *************** *** 167,170 **** --- 193,203 ---- .TP + \fBns_register_filter \fBprewrite\fR \fImethod url script ?arg?\fR + Invoke \fIproc\fR before the response content is sent to the client. + This filter can be used to modify the response content before being + sent. This filter will not get called for content sent with + \fBns_returnfile\fR or \fBns_write\fR + + .TP \fBns_register_filter \fBwrite\fR \fImethod url script ?arg?\fR Invoke \fIproc\fR after each write to the client. Note the |