diff options
Diffstat (limited to 'csgo-loader/csgo-server/Networking/WebSocket.hpp')
| -rw-r--r-- | csgo-loader/csgo-server/Networking/WebSocket.hpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/csgo-loader/csgo-server/Networking/WebSocket.hpp b/csgo-loader/csgo-server/Networking/WebSocket.hpp new file mode 100644 index 0000000..f503913 --- /dev/null +++ b/csgo-loader/csgo-server/Networking/WebSocket.hpp @@ -0,0 +1,37 @@ +#pragma once
+
+#include <windows.h>
+#include <wininet.h>
+#include <vector>
+#include <algorithm>
+#include <cstdint>
+
+#pragma comment(lib, "wininet.lib")
+
+using ByteArray = std::vector<uint8_t>;
+
+namespace Networking {
+ // Whenever the handle goes out of scope, it will automatically be released.
+ class InternetHandle {
+ HINTERNET m_Internet;
+ public:
+ InternetHandle() = default;
+ InternetHandle(HINTERNET Internet) :
+ m_Internet(Internet) { }
+
+ ~InternetHandle() {
+ InternetCloseHandle(m_Internet);
+ }
+
+ operator HINTERNET() { return m_Internet; };
+ };
+
+ class WebSocket {
+ InternetHandle m_Internet;
+ InternetHandle m_Address;
+
+ public:
+ bool Start(const char *Address, const char *Username, const char *Password);
+ ByteArray Request(const char *File, const char *Header, ByteArray &Data);
+ };
+}
\ No newline at end of file |
