diff options
author | mataes2007 <mataes2007@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-11-24 16:55:09 +0000 |
---|---|---|
committer | mataes2007 <mataes2007@e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb> | 2011-11-24 16:55:09 +0000 |
commit | 5b74bda58f47e7894a83643b86d24f0c78e60285 (patch) | |
tree | 7e09452c287b46442dae30a7186539bc53793dca /HTTPServer/HttpUser.h | |
parent | 03a7b123e64c552639c89cb80105003b076eff55 (diff) |
added HTTPServer
git-svn-id: http://miranda-plugins.googlecode.com/svn/trunk@206 e753b5eb-9565-29b2-b5c5-2cc6f99dfbcb
Diffstat (limited to 'HTTPServer/HttpUser.h')
-rw-r--r-- | HTTPServer/HttpUser.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/HTTPServer/HttpUser.h b/HTTPServer/HttpUser.h new file mode 100644 index 0000000..00b43a7 --- /dev/null +++ b/HTTPServer/HttpUser.h @@ -0,0 +1,70 @@ +//This file is part of HTTPServer a Miranda IM plugin
+//Copyright (C)2002 Kennet Nielsen
+//
+//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., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+#ifndef HTTP_USER_H
+#define HTTP_USER_H
+
+#include <windows.h>
+#include "m_HTTPServer.h"
+#include "FileShareNode.h"
+
+enum ENParamTypes {
+ eFirstParam = 0,
+ eRange = 0,
+ eIfRange,
+ eUnlessModifiedSince,
+ eIfModifiedSince,
+ eUserAgent,
+ eHost,
+ eLastParam
+};
+
+static char * szParmStr[eLastParam] = {
+ "Range: ",
+ "If-Range: ",
+ "Unless-Modified-Since: ",
+ "If-Modified-Since: ",
+ "User-Agent: ",
+ "Host: "
+};
+
+
+class CLHttpUser : public CLShareUser {
+public:
+ CLHttpUser(HANDLE hCon, in_addr stAdd);
+ virtual ~CLHttpUser();
+
+ bool bReadGetParameters(char * pszRequest);
+
+ //bool bSendFile( HANDLE hFile ,
+ bool bCloseTransfers() {
+ return true;
+ }
+ bool bProcessGetRequest(char * pszRequest, bool bIsGetCommand);
+ const char * pszCustomInfo() {
+ return apszParam[eUserAgent];
+ }
+ void HandleNewConnection();
+private:
+ HANDLE hFile;
+ char *apszParam[eLastParam];
+
+ void SendError(int iErrorCode, const char * pszError, const char * pszDescription = NULL);
+ void SendRedir(int iErrorCode, const char * pszError, const char * pszDescription = NULL, const char * pszRedirect = NULL);
+};
+
+#endif
\ No newline at end of file |