2017-09-19 04:34:08 -04:00
|
|
|
|
2015-12-25 13:42:50 -05:00
|
|
|
// SslHTTPServerConnection.h
|
2014-05-01 05:48:03 -04:00
|
|
|
|
2016-02-21 05:34:16 -05:00
|
|
|
// Declares the cSslHTTPServerConnection class representing a HTTP connection made over an SSL link
|
2014-05-01 05:48:03 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#pragma once
|
|
|
|
|
2015-12-25 13:42:50 -05:00
|
|
|
#include "HTTPServerConnection.h"
|
2018-08-28 20:51:25 -04:00
|
|
|
#include "../mbedTLS++/BufferedSslContext.h"
|
2014-05-01 05:48:03 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-04-13 12:38:06 -04:00
|
|
|
class cSslHTTPServerConnection:
|
2015-12-25 13:42:50 -05:00
|
|
|
public cHTTPServerConnection
|
2014-05-01 05:48:03 -04:00
|
|
|
{
|
2020-04-13 12:38:06 -04:00
|
|
|
using Super = cHTTPServerConnection;
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-05-01 05:48:03 -04:00
|
|
|
public:
|
2020-04-13 12:38:06 -04:00
|
|
|
|
2014-05-01 09:21:41 -04:00
|
|
|
/** Creates a new connection on the specified server.
|
|
|
|
Sends the specified cert as the server certificate, uses the private key for decryption. */
|
2017-08-30 10:00:06 -04:00
|
|
|
cSslHTTPServerConnection(cHTTPServer & a_HTTPServer, std::shared_ptr<const cSslConfig> a_Config);
|
2015-02-12 14:05:55 -05:00
|
|
|
|
2017-05-20 02:16:28 -04:00
|
|
|
virtual ~cSslHTTPServerConnection() override;
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-05-01 05:48:03 -04:00
|
|
|
protected:
|
|
|
|
cBufferedSslContext m_Ssl;
|
2016-02-05 16:45:45 -05:00
|
|
|
|
2014-05-01 05:48:03 -04:00
|
|
|
// cHTTPConnection overrides:
|
2015-01-24 04:11:34 -05:00
|
|
|
virtual void OnReceivedData(const char * a_Data, size_t a_Size) override; // Data is received from the client
|
|
|
|
virtual void SendData(const void * a_Data, size_t a_Size) override; // Data is to be sent to client
|
2014-05-01 05:48:03 -04:00
|
|
|
} ;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|