Fixed #150
This commit is contained in:
parent
48af26e332
commit
6f207497de
11
httplib.h
11
httplib.h
@ -87,6 +87,8 @@ typedef int socket_t;
|
|||||||
#define CPPHTTPLIB_KEEPALIVE_TIMEOUT_SECOND 5
|
#define CPPHTTPLIB_KEEPALIVE_TIMEOUT_SECOND 5
|
||||||
#define CPPHTTPLIB_KEEPALIVE_TIMEOUT_USECOND 0
|
#define CPPHTTPLIB_KEEPALIVE_TIMEOUT_USECOND 0
|
||||||
#define CPPHTTPLIB_KEEPALIVE_MAX_COUNT 5
|
#define CPPHTTPLIB_KEEPALIVE_MAX_COUNT 5
|
||||||
|
#define CPPHTTPLIB_READ_TIMEOUT_SECOND 5
|
||||||
|
#define CPPHTTPLIB_READ_TIMEOUT_USECOND 0
|
||||||
#define CPPHTTPLIB_REQUEST_URI_MAX_LENGTH 8192
|
#define CPPHTTPLIB_REQUEST_URI_MAX_LENGTH 8192
|
||||||
#define CPPHTTPLIB_PAYLOAD_MAX_LENGTH std::numeric_limits<size_t>::max()
|
#define CPPHTTPLIB_PAYLOAD_MAX_LENGTH std::numeric_limits<size_t>::max()
|
||||||
|
|
||||||
@ -1432,8 +1434,12 @@ inline SocketStream::SocketStream(socket_t sock) : sock_(sock) {}
|
|||||||
inline SocketStream::~SocketStream() {}
|
inline SocketStream::~SocketStream() {}
|
||||||
|
|
||||||
inline int SocketStream::read(char *ptr, size_t size) {
|
inline int SocketStream::read(char *ptr, size_t size) {
|
||||||
|
if (detail::select_read(sock_, CPPHTTPLIB_READ_TIMEOUT_SECOND,
|
||||||
|
CPPHTTPLIB_READ_TIMEOUT_USECOND) > 0) {
|
||||||
return recv(sock_, ptr, static_cast<int>(size), 0);
|
return recv(sock_, ptr, static_cast<int>(size), 0);
|
||||||
}
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
inline int SocketStream::write(const char *ptr, size_t size) {
|
inline int SocketStream::write(const char *ptr, size_t size) {
|
||||||
return send(sock_, ptr, static_cast<int>(size), 0);
|
return send(sock_, ptr, static_cast<int>(size), 0);
|
||||||
@ -2310,8 +2316,13 @@ inline SSLSocketStream::SSLSocketStream(socket_t sock, SSL *ssl)
|
|||||||
inline SSLSocketStream::~SSLSocketStream() {}
|
inline SSLSocketStream::~SSLSocketStream() {}
|
||||||
|
|
||||||
inline int SSLSocketStream::read(char *ptr, size_t size) {
|
inline int SSLSocketStream::read(char *ptr, size_t size) {
|
||||||
|
if (SSL_pending(ssl_) > 0 ||
|
||||||
|
detail::select_read(sock_, CPPHTTPLIB_READ_TIMEOUT_SECOND,
|
||||||
|
CPPHTTPLIB_READ_TIMEOUT_USECOND) > 0) {
|
||||||
return SSL_read(ssl_, ptr, size);
|
return SSL_read(ssl_, ptr, size);
|
||||||
}
|
}
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
|
||||||
inline int SSLSocketStream::write(const char *ptr, size_t size) {
|
inline int SSLSocketStream::write(const char *ptr, size_t size) {
|
||||||
return SSL_write(ssl_, ptr, size);
|
return SSL_write(ssl_, ptr, size);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user