3 //=============================================================================
7 * @author Douglas C. Schmidt <d.schmidt@vanderbilt.edu>
9 //=============================================================================
15 #include "URL_Status.h"
19 #if !defined (ACE_LACKS_PRAGMA_ONCE)
21 #endif /* ACE_LACKS_PRAGMA_ONCE */
26 * @brief An ADT for an HTTP URL.
28 * This class plays the "element" role in the Visitor pattern.
30 class HTTP_URL
: public URL
34 * The <url_addr> is the URL that we're going to be visiting. We
35 * also keep track of the containing page, if any, which is used to
36 * print out more meaningful messages.
38 HTTP_URL (const ACE_URL_Addr
&url_addr
,
39 HTTP_URL
*containing_page
= 0);
42 * Accept the visitor, which will then perform a particular
43 * visitation strategy on the URL. This method is part of the
46 virtual int accept (URL_Visitor
*visitor
);
48 /// Send a <GET> command to fetch the contents in the URI from the
50 virtual ssize_t
send_request ();
52 /// Returns the URL that we represent.
53 virtual const ACE_URL_Addr
&url_addr () const;
58 /// Address of the URL we're connected to.
59 ACE_URL_Addr url_addr_
;
61 /// Page that contained us.
62 HTTP_URL
*containing_page_
;
65 #endif /* _HTTP_URL_H */