summaryrefslogtreecommitdiff
path: root/src/experimental/httpget.h
diff options
context:
space:
mode:
authorMike Buland <eichlan@xagasoft.com>2012-03-25 20:00:08 +0000
committerMike Buland <eichlan@xagasoft.com>2012-03-25 20:00:08 +0000
commit469bbcf0701e1eb8a6670c23145b0da87357e178 (patch)
treeb5b062a16e46a6c5d3410b4e574cd0cc09057211 /src/experimental/httpget.h
parentee1b79396076edc4e30aefb285fada03bb45e80d (diff)
downloadlibbu++-469bbcf0701e1eb8a6670c23145b0da87357e178.tar.gz
libbu++-469bbcf0701e1eb8a6670c23145b0da87357e178.tar.bz2
libbu++-469bbcf0701e1eb8a6670c23145b0da87357e178.tar.xz
libbu++-469bbcf0701e1eb8a6670c23145b0da87357e178.zip
Code is all reorganized. We're about ready to release. I should write up a
little explenation of the arrangement.
Diffstat (limited to 'src/experimental/httpget.h')
-rw-r--r--src/experimental/httpget.h66
1 files changed, 66 insertions, 0 deletions
diff --git a/src/experimental/httpget.h b/src/experimental/httpget.h
new file mode 100644
index 0000000..a58e8ac
--- /dev/null
+++ b/src/experimental/httpget.h
@@ -0,0 +1,66 @@
1/*
2 * Copyright (C) 2007-2011 Xagasoft, All rights reserved.
3 *
4 * This file is part of the libbu++ library and is released under the
5 * terms of the license contained in the file LICENSE.
6 */
7
8#ifndef BU_HTTP_GET_H
9#define BU_HTTP_GET_H
10
11#include "bu/stream.h"
12#include "bu/string.h"
13#include "bu/url.h"
14#include "bu/tcpsocket.h"
15#include "bu/hash.h"
16
17namespace Bu
18{
19 class HttpGet : public Bu::Stream
20 {
21 public:
22 HttpGet( const Bu::Url &uSrc, const Bu::String &sMethod="GET" );
23 virtual ~HttpGet();
24
25 void get();
26
27 // From Bu::Stream
28 virtual void close();
29 virtual Bu::size read( void *pBuf, Bu::size nBytes );
30 virtual Bu::size write( const void *pBuf, Bu::size nBytes );
31 using Stream::write;
32
33 virtual Bu::size tell();
34 virtual void seek( Bu::size offset );
35 virtual void setPos( Bu::size pos );
36 virtual void setPosEnd( Bu::size pos );
37 virtual bool isEos();
38 virtual bool isOpen();
39
40 virtual void flush();
41
42 virtual bool canRead();
43 virtual bool canWrite();
44
45 virtual bool isReadable();
46 virtual bool isWritable();
47 virtual bool isSeekable();
48
49 virtual bool isBlocking();
50 virtual void setBlocking( bool bBlocking=true );
51
52 virtual size getSize() const;
53 virtual size getBlockSize() const;
54 virtual Bu::String getLocation() const;
55
56 private:
57 Bu::Url uSrc;
58 Bu::String sMethod;
59 Bu::TcpSocket sSrv;
60 typedef Bu::Hash<Bu::String,Bu::String> MimeHash;
61 MimeHash hMimeIn;
62 MimeHash hMimeOut;
63 };
64};
65
66#endif