同步操作将从 sulayman_tien/poco 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
//// HTTPHeaderStream.cpp//// Library: Net// Package: HTTP// Module: HTTPHeaderStream//// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.// and Contributors.//// SPDX-License-Identifier: BSL-1.0//#include "Poco/Net/HTTPHeaderStream.h"#include "Poco/Net/HTTPSession.h"namespace Poco {namespace Net {//// HTTPHeaderStreamBuf//HTTPHeaderStreamBuf::HTTPHeaderStreamBuf(HTTPSession& session, openmode mode):HTTPBasicStreamBuf(HTTPBufferAllocator::BUFFER_SIZE, mode),_session(session),_end(false){}HTTPHeaderStreamBuf::~HTTPHeaderStreamBuf(){}int HTTPHeaderStreamBuf::readFromDevice(char* buffer, std::streamsize length){// read line-by-line; an empty line denotes the end of the headers.static const int eof = std::char_traits<char>::eof();if (_end) return 0;int n = 0;int ch = _session.get();while (ch != eof && ch != '\n' && n < length - 1){*buffer++ = (char) ch; ++n;ch = _session.get();}if (ch != eof){*buffer++ = (char) ch; ++n;if (n == 2) _end = true;}return n;}int HTTPHeaderStreamBuf::writeToDevice(const char* buffer, std::streamsize length){return _session.write(buffer, length);}//// HTTPHeaderIOS//HTTPHeaderIOS::HTTPHeaderIOS(HTTPSession& session, HTTPHeaderStreamBuf::openmode mode):_buf(session, mode){poco_ios_init(&_buf);}HTTPHeaderIOS::~HTTPHeaderIOS(){try{_buf.sync();}catch (...){}}HTTPHeaderStreamBuf* HTTPHeaderIOS::rdbuf(){return &_buf;}//// HTTPHeaderInputStream//Poco::MemoryPool HTTPHeaderInputStream::_pool(sizeof(HTTPHeaderInputStream));HTTPHeaderInputStream::HTTPHeaderInputStream(HTTPSession& session):HTTPHeaderIOS(session, std::ios::in),std::istream(&_buf){}HTTPHeaderInputStream::~HTTPHeaderInputStream(){}void* HTTPHeaderInputStream::operator new(std::size_t size){return _pool.get();}void HTTPHeaderInputStream::operator delete(void* ptr){try{_pool.release(ptr);}catch (...){poco_unexpected();}}//// HTTPHeaderOutputStream//Poco::MemoryPool HTTPHeaderOutputStream::_pool(sizeof(HTTPHeaderOutputStream));HTTPHeaderOutputStream::HTTPHeaderOutputStream(HTTPSession& session):HTTPHeaderIOS(session, std::ios::out),std::ostream(&_buf){}HTTPHeaderOutputStream::~HTTPHeaderOutputStream(){}void* HTTPHeaderOutputStream::operator new(std::size_t size){return _pool.get();}void HTTPHeaderOutputStream::operator delete(void* ptr){try{_pool.release(ptr);}catch (...){poco_unexpected();}}} } // namespace Poco::Net
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。