mirror of
https://github.com/ossrs/srs.git
synced 2025-03-09 15:49:59 +00:00
For #1657, Support HTTPS API
This commit is contained in:
parent
7916214e27
commit
272ca9d0f6
20 changed files with 647 additions and 11 deletions
|
@ -30,6 +30,8 @@
|
|||
#include <vector>
|
||||
#include <map>
|
||||
|
||||
#include <openssl/ssl.h>
|
||||
|
||||
#include <srs_app_st.hpp>
|
||||
#include <srs_protocol_kbps.hpp>
|
||||
#include <srs_app_reload.hpp>
|
||||
|
@ -161,4 +163,34 @@ public:
|
|||
virtual srs_error_t writev(const iovec *iov, int iov_size, ssize_t* nwrite);
|
||||
};
|
||||
|
||||
// The SSL connection over TCP transport, in server mode.
|
||||
class SrsSslConnection : virtual public ISrsProtocolReadWriter
|
||||
{
|
||||
private:
|
||||
// The under-layer plaintext transport.
|
||||
ISrsProtocolReadWriter* transport;
|
||||
private:
|
||||
SSL_CTX* ssl_ctx;
|
||||
SSL* ssl;
|
||||
BIO* bio_in;
|
||||
BIO* bio_out;
|
||||
public:
|
||||
SrsSslConnection(ISrsProtocolReadWriter* c);
|
||||
virtual ~SrsSslConnection();
|
||||
public:
|
||||
virtual srs_error_t handshake();
|
||||
// Interface ISrsProtocolReadWriter
|
||||
public:
|
||||
virtual void set_recv_timeout(srs_utime_t tm);
|
||||
virtual srs_utime_t get_recv_timeout();
|
||||
virtual srs_error_t read_fully(void* buf, size_t size, ssize_t* nread);
|
||||
virtual int64_t get_recv_bytes();
|
||||
virtual int64_t get_send_bytes();
|
||||
virtual srs_error_t read(void* buf, size_t size, ssize_t* nread);
|
||||
virtual void set_send_timeout(srs_utime_t tm);
|
||||
virtual srs_utime_t get_send_timeout();
|
||||
virtual srs_error_t write(void* buf, size_t size, ssize_t* nwrite);
|
||||
virtual srs_error_t writev(const iovec *iov, int iov_size, ssize_t* nwrite);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue