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 
00018 class QHttpServletRequest : public QServletRequest
00019 {
00020 public:
00021    QHttpServletRequest();
00022    virtual ~QHttpServletRequest();
00023 
00025    QString method() const { return meth; }
00026 
00028    QString pathInfo() const { return url.path(); }
00029 
00031    QString queryString() const { return url.query(); }
00032 
00034    QString requestURI() const { return uri; }
00035 
00037    QString version() const { return ver; }
00038    
00039    //
00040    // Accessors for HTTP Headers.
00041    //
00042 
00044    QStringList headerNames() const { return hdrNames; }
00045 
00047    QString header( const QString &name ) const { return headers[name]; }
00048 
00054    QDateTime dateHeader( const QString &name ) const;
00055 
00060    int intHeader( const QString &name, bool *ok=0 ) const;
00061 
00062    //
00063    // Request parsing methods
00064    //
00065 
00066    bool readRequest( QTextStream *in );
00067    bool readMethod( const QString &line );
00068    bool hasHeaders() const { return hasHdrs; }
00069    bool readHeader( const QString &line );
00070    bool readHeaders( const QStringList &lines );
00071 
00073    QString dump();
00074 
00075 protected:
00076    void addHeader( const QString &name, const QString &val );
00077    
00078 private:
00079    QString meth;
00080    QString uri;
00081    QUrl url;
00082    QString ver;
00083    QStringList hdrNames;
00084    QMap<QString,QString> headers; // name -> value
00085 
00086    bool hasHdrs;
00087 };
00088 
00089 #endif // QHTTPSERVLETREQUEST_H
00090 
00091 // Local Variables:
00092 // c-basic-offset: 3
00093 // End:
00094 

Generated on Mon Mar 31 01:08:13 2003 for QXServlet by doxygen1.2.17