同步操作将从 sulayman_tien/poco 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
//// HTTPBasicCredentials.cpp//// Library: Net// Package: HTTP// Module: HTTPBasicCredentials//// Copyright (c) 2005-2006, Applied Informatics Software Engineering GmbH.// and Contributors.//// SPDX-License-Identifier: BSL-1.0//#include "Poco/Net/HTTPBasicCredentials.h"#include "Poco/Net/HTTPRequest.h"#include "Poco/Net/NetException.h"#include "Poco/Base64Encoder.h"#include "Poco/Base64Decoder.h"#include "Poco/String.h"#include <sstream>using Poco::Base64Decoder;using Poco::Base64Encoder;using Poco::icompare;namespace Poco {namespace Net {const std::string HTTPBasicCredentials::SCHEME = "Basic";HTTPBasicCredentials::HTTPBasicCredentials(){}HTTPBasicCredentials::HTTPBasicCredentials(const std::string& username, const std::string& password):_username(username),_password(password){}HTTPBasicCredentials::HTTPBasicCredentials(const HTTPRequest& request){std::string scheme;std::string authInfo;request.getCredentials(scheme, authInfo);if (icompare(scheme, SCHEME) == 0){parseAuthInfo(authInfo);}else throw NotAuthenticatedException("Basic authentication expected");}HTTPBasicCredentials::HTTPBasicCredentials(const std::string& authInfo){parseAuthInfo(authInfo);}HTTPBasicCredentials::~HTTPBasicCredentials(){}void HTTPBasicCredentials::clear(){_username.clear();_password.clear();}void HTTPBasicCredentials::setUsername(const std::string& username){_username = username;}void HTTPBasicCredentials::setPassword(const std::string& password){_password = password;}void HTTPBasicCredentials::authenticate(HTTPRequest& request) const{std::ostringstream ostr;Base64Encoder encoder(ostr);encoder.rdbuf()->setLineLength(0);encoder << _username << ":" << _password;encoder.close();request.setCredentials(SCHEME, ostr.str());}void HTTPBasicCredentials::proxyAuthenticate(HTTPRequest& request) const{std::ostringstream ostr;Base64Encoder encoder(ostr);encoder.rdbuf()->setLineLength(0);encoder << _username << ":" << _password;encoder.close();request.setProxyCredentials(SCHEME, ostr.str());}void HTTPBasicCredentials::parseAuthInfo(const std::string& authInfo){static const int eof = std::char_traits<char>::eof();std::istringstream istr(authInfo);Base64Decoder decoder(istr);int ch = decoder.get();while (ch != eof && ch != ':'){_username += (char) ch;ch = decoder.get();}if (ch == ':') ch = decoder.get();while (ch != eof){_password += (char) ch;ch = decoder.get();}}} } // namespace Poco::Net
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。