507
508
509
510
511
512
513
514
515
516
517
518
519
520
|
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
|
+
|
# by application code using a separate helper function, like
# "wapp_decode_multipart_formdata" or somesuch.
# Invoke the application-defined handler procedure for this page
# request. If an error occurs while running that procedure, generate
# an HTTP reply that contains the error message.
#
wapp-before-dispatch-hook
set mname [dict get $wapp PATH_HEAD]
if {[catch {
if {$mname!="" && [llength [info commands wapp-page-$mname]]>0} {
wapp-page-$mname
} else {
wapp-default
}
|
554
555
556
557
558
559
560
561
562
563
564
565
566
567
|
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
|
+
+
+
+
+
+
|
puts $chan [encoding convertto utf-8 [dict get $wapp .reply]]
} else {
puts $chan [dict get $wapp .reply]
}
flush $chan
wappInt-close-channel $chan
}
# This routine runs just prior to request-handler dispatch. The
# default implementation is a no-op, but applications can override
# to do additional transformations or checks.
#
proc wapp-before-dispatch-hook {} {return}
# Process a single CGI request
#
proc wappInt-handle-cgi-request {} {
global wapp env
foreach key {
CONTENT_LENGTH
|