Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members  

qhttpservletrequest.h

00001 // -*- c++ -*-
00002 
00003 #ifndef QHTTPSERVLETREQUEST_H
00004 #define QHTTPSERVLETREQUEST_H
00005 
00006 #include <qstring.h>
00007 #include <qdatetime.h>
00008 #include <qmap.h>
00009 #include <qurl.h>
00010 
00011 #include <qservletrequest.h>
00012 
00013 class DocWriter;
00014 
00020 class QHttpServletRequest : public QServletRequest
00021 {
00022 public:
00023    QHttpServletRequest();
00024    virtual ~QHttpServletRequest();
00025 
00027    QString method() const { return meth; }
00028 
00030    QString pathInfo() const { return url.path(); }
00031 
00033    QString queryString() const { return url.query(); }
00034 
00036    QString requestURI() const { return uri; }
00037 
00039    QString version() const { return ver; }
00040    
00041    //
00042    // Accessors for HTTP Headers.
00043    //
00044 
00046    QStringList headerNames() const { return hdrNames; }
00047 
00049    QString header( const QString &name ) const { return headers[name]; }
00050 
00056    QDateTime dateHeader( const QString &name ) const;
00057 
00062    int intHeader( const QString &name, bool *ok=0 ) const;
00063 
00064    //
00065    // Request parsing methods
00066    //
00067 
00068    bool readRequest( QTextStream *in );
00069    bool readMethod( const QString &line );
00070    bool hasHeaders() const { return hasHdrs; }
00071    bool readHeader( const QString &line );
00072    bool readHeaders( const QStringList &lines );
00073 
00075    void dump( DocWriter *doc );
00076 
00077 protected:
00078    void addHeader( const QString &name, const QString &val );
00079    
00080 private:
00081    QString meth;
00082    QString uri;
00083    QUrl url;
00084    QString ver;
00085    QStringList hdrNames;
00086    QMap<QString,QString> headers; // name -> value
00087 
00088    bool hasHdrs;
00089 };
00090 
00091 #endif // QHTTPSERVLETREQUEST_H
00092 
00093 // Local Variables:
00094 // c-basic-offset: 3
00095 // End:
00096 

Generated on Wed Apr 9 23:50:21 2003 for QXServlet by doxygen1.2.17