Annotation of parser3/src/types/pa_vrequest.C, revision 1.12

1.2       paf         1: /** @file
1.5       paf         2:        Parser: @b request class.
1.2       paf         3: 
1.1       paf         4:        Copyright(c) 2001 ArtLebedev Group(http://www.artlebedev.com)
1.11      paf         5:        Author: Alexander Petrosyan <paf@design.ru>(http://paf.design.ru)
1.2       paf         6: 
1.12    ! paf         7:        $Id: pa_vrequest.C,v 1.11 2001/11/05 11:46:33 paf Exp $
1.1       paf         8: */
                      9: 
                     10: #include "pa_vrequest.h"
                     11: #include "pa_request.h"
                     12: 
1.7       parser     13: // request: CLASS,method,field
1.12    ! paf        14: Value *VRequest::get_element(const String& name) {
        !            15:        // $charset
        !            16:        if(name==CHARSET_NAME)
        !            17:                return NEW VString(pool().get_charset());
        !            18:        else {  
        !            19:                // $query $uri  
        !            20:                const char *cstr=0;
        !            21:                if(name=="query")
        !            22:                        cstr=frequest.info.query_string;
        !            23:                else if(name=="uri")
        !            24:                        cstr=frequest.info.uri;
        !            25: 
        !            26:                String& string=*NEW String(pool());
        !            27:                string.APPEND_TAINTED(cstr?cstr:"", 0, "request", 0);
        !            28:                return NEW VString(string);
        !            29:        }
1.1       paf        30: }
                     31: 
1.12    ! paf        32: void VRequest::put_element(const String& name, Value *value) {
        !            33:        // guard charset change
        !            34:        if(name==CHARSET_NAME)
        !            35:                pool().set_charset(value->as_string());
        !            36:        else
        !            37:                Value::put_element(name, value);
        !            38: }

E-mail: