summaryrefslogtreecommitdiff
path: root/src/Sockets/HttpPutSocket.cpp
diff options
context:
space:
mode:
authorOthmar Gsenger <otti@anytun.org>2008-10-19 20:06:14 +0000
committerOthmar Gsenger <otti@anytun.org>2008-10-19 20:06:14 +0000
commit7ec2d1c53b753238509bf7a89587509305b9216d (patch)
tree2e81d3fbd6b2a515f71449a2a16b2c69ecf4ddad /src/Sockets/HttpPutSocket.cpp
parentswitched from PracticalSocket to libasio (diff)
move to asio socket libary for sync
bugs / todos: * new connections don't sync * anyrtpproxy broken * anytun-controlld doesn't send data
Diffstat (limited to 'src/Sockets/HttpPutSocket.cpp')
-rw-r--r--src/Sockets/HttpPutSocket.cpp125
1 files changed, 0 insertions, 125 deletions
diff --git a/src/Sockets/HttpPutSocket.cpp b/src/Sockets/HttpPutSocket.cpp
deleted file mode 100644
index 90ac7e4..0000000
--- a/src/Sockets/HttpPutSocket.cpp
+++ /dev/null
@@ -1,125 +0,0 @@
-/** \file HttpPutSocket.cpp
- ** \date 2004-10-30
- ** \author grymse@alhem.net
-**/
-/*
-Copyright (C) 2004-2007 Anders Hedstrom
-
-This library is made available under the terms of the GNU GPL.
-
-If you would like to use this library in a closed-source application,
-a separate license agreement is available. For information about
-the closed-source license agreement for the C++ sockets library,
-please visit http://www.alhem.net/Sockets/license.html and/or
-email license@alhem.net.
-
-This program is free software; you can redistribute it and/or
-modify it under the terms of the GNU General Public License
-as published by the Free Software Foundation; either version 2
-of the License, or (at your option) any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-*/
-#ifdef _WIN32
-#ifdef _MSC_VER
-#pragma warning(disable:4786)
-#endif
-#else
-#include <errno.h>
-#endif
-#include "ISocketHandler.h"
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#include "Utility.h"
-#include "Parse.h"
-
-#include "HttpPutSocket.h"
-
-
-#ifdef SOCKETS_NAMESPACE
-namespace SOCKETS_NAMESPACE {
-#endif
-
-
-HttpPutSocket::HttpPutSocket(ISocketHandler& h) : HttpClientSocket(h)
-{
-}
-
-
-HttpPutSocket::HttpPutSocket(ISocketHandler& h,const std::string& url_in) : HttpClientSocket(h, url_in)
-{
-}
-
-
-HttpPutSocket::~HttpPutSocket()
-{
-}
-
-
-void HttpPutSocket::SetFile(const std::string& file)
-{
- struct stat st;
- if (!stat(file.c_str(), &st))
- {
- m_filename = file;
- m_content_length = st.st_size;
- }
- else
- {
- Handler().LogError(this, "SetFile", Errno, StrError(Errno), LOG_LEVEL_FATAL);
- SetCloseAndDelete();
- }
-}
-
-
-void HttpPutSocket::SetContentType(const std::string& type)
-{
- m_content_type = type;
-}
-
-
-
-void HttpPutSocket::Open()
-{
- // why do I have to specify TcpSocket:: to get to the Open() method??
- TcpSocket::Open(GetUrlHost(), GetUrlPort());
-}
-
-
-void HttpPutSocket::OnConnect()
-{
- SetMethod( "PUT" );
- SetHttpVersion( "HTTP/1.1" );
- AddResponseHeader( "Host", GetUrlHost() );
- AddResponseHeader( "Content-type", m_content_type );
- AddResponseHeader( "Content-length", Utility::l2string(m_content_length) );
- AddResponseHeader( "User-agent", MyUseragent() );
- SendRequest();
-
- FILE *fil = fopen(m_filename.c_str(), "rb");
- if (fil)
- {
- size_t n;
- char buf[32768];
- while ((n = fread(buf, 1, 32768, fil)) > 0)
- {
- SendBuf(buf, n);
- }
- fclose(fil);
- }
-}
-
-
-#ifdef SOCKETS_NAMESPACE
-}
-#endif
-
-