class Host : public libecap::host::Host
{
public:
- // About
+ /* libecap::host::Host API */
virtual std::string uri() const; // unique across all vendors
virtual void describe(std::ostream &os) const; // free-format info
-
- // Service management
virtual void noteService(const libecap::weak_ptr<libecap::adapter::Service> &s);
-
- // Logging
virtual std::ostream *openDebug(libecap::LogVerbosity lv);
virtual void closeDebug(std::ostream *debug);
-
- // Message creation
typedef libecap::shared_ptr<libecap::Message> MessagePtr;
virtual MessagePtr newRequest() const;
virtual MessagePtr newResponse() const;
public:
HeaderRep(HttpMsg &aMessage);
+ /* libecap::Header API */
virtual bool hasAny(const Name &name) const;
virtual Value value(const Name &name) const;
-
virtual void add(const Name &name, const Value &value);
virtual void removeAny(const Name &name);
-
virtual void visitEach(libecap::NamedValueVisitor &visitor) const;
-
virtual Area image() const;
virtual void parse(const Area &buf); // throws on failures
public:
RequestLineRep(HttpRequest &aMessage);
+ /* libecap::RequestLine API */
virtual void uri(const Area &aUri);
virtual Area uri() const;
-
virtual void method(const Name &aMethod);
virtual Name method() const;
-
virtual libecap::Version version() const;
virtual void version(const libecap::Version &aVersion);
virtual Name protocol() const;
public:
StatusLineRep(HttpReply &aMessage);
+ /* libecap::StatusLine API */
virtual void statusCode(int code);
virtual int statusCode() const;
-
virtual void reasonPhrase(const Area &phrase);
virtual Area reasonPhrase() const;
-
virtual libecap::Version version() const;
virtual void version(const libecap::Version &aVersion);
virtual Name protocol() const;
explicit MessageRep(HttpMsg *rawHeader);
virtual ~MessageRep();
+ /* libecap::Message API */
virtual libecap::shared_ptr<libecap::Message> clone() const;
-
virtual libecap::FirstLine &firstLine();
virtual const libecap::FirstLine &firstLine() const;
-
virtual libecap::Header &header();
virtual const libecap::Header &header() const;
-
virtual void addBody();
virtual libecap::Body *body();
virtual const libecap::Body *body() const;
+
void tieBody(Ecap::XactionRep *x); // to a specific transaction
Adaptation::Message &raw() { return theMessage; } // for host access
typedef libecap::shared_ptr<libecap::adapter::Service> AdapterService;
+ /* Adaptation::Service API */
virtual void finalize();
-
virtual bool probed() const;
virtual bool up() const;
-
- Adaptation::Initiate *makeXactLauncher(HttpMsg *virginHeader, HttpRequest *virginCause);
-
- // the methods below can only be called on an up() service
+ virtual Adaptation::Initiate *makeXactLauncher(HttpMsg *virginHeader, HttpRequest *virginCause);
virtual bool wantsUrl(const String &urlPath) const;
-
- // called by transactions to report service failure
virtual void noteFailure();
-
virtual const char *status() const;
-
virtual void detach();
virtual bool detached() const;