• Main Page
  • Related Pages
  • Namespaces
  • Data Structures
  • Files
  • File List
  • Globals

ClientRequest.h

Go to the documentation of this file.
00001 /**
00002   Licensed to the Apache Software Foundation (ASF) under one
00003   or more contributor license agreements.  See the NOTICE file
00004   distributed with this work for additional information
00005   regarding copyright ownership.  The ASF licenses this file
00006   to you under the Apache License, Version 2.0 (the
00007   "License"); you may not use this file except in compliance
00008   with the License.  You may obtain a copy of the License at
00009 
00010       http://www.apache.org/licenses/LICENSE-2.0
00011 
00012   Unless required by applicable law or agreed to in writing, software
00013   distributed under the License is distributed on an "AS IS" BASIS,
00014   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
00015   See the License for the specific language governing permissions and
00016   limitations under the License.
00017  */
00018 
00019 /**
00020  * @file ClientRequest.h
00021  */
00022 
00023 #pragma once
00024 #ifndef ATSCPPAPI_CLIENTREQUEST_H_
00025 #define ATSCPPAPI_CLIENTREQUEST_H_
00026 
00027 #include <atscppapi/Request.h>
00028 
00029 namespace atscppapi {
00030 
00031 struct ClientRequestState;
00032 
00033 /**
00034  * @brief Encapsulates a client request. A client request is different from a
00035  * server request as it has two URLs - the pristine URL sent by the client 
00036  * and a remapped URL created by the server.
00037  */
00038 class ClientRequest : public Request {
00039 public:
00040   /**
00041    * @private
00042    */
00043   ClientRequest(void *raw_txn, void *hdr_buf, void *hdr_loc);
00044 
00045   /**
00046    * Returns the pristine (pre-remap) client request URL 
00047    *
00048    * @return Url Reference to non-mutable pristine URL.
00049    */
00050   const Url &getPristineUrl() const;
00051 
00052   ~ClientRequest();
00053 private:
00054   ClientRequestState *state_;
00055 };
00056 
00057 }
00058 
00059 #endif /* ATSCPPAPI_CLIENTREQUEST_H_ */

Generated by  doxygen 1.7.1