1
0
Fork 0

Merge branch 'devel' of github.com:arangodb/arangodb into devel

This commit is contained in:
Michael Hackstein 2016-10-10 17:49:27 +02:00
commit 001407d312
6 changed files with 14 additions and 10 deletions

View File

@ -1,6 +1,6 @@
!CHAPTER Auth and OAuth2
The `util-simple-auth` and `util-oauth2` Foxx services have been replaced with the [Foxx auth](Auth.md) and Foxx OAuth2<!-- TODO (link to docs) --> modules. It is no longer necessary to install these services as dependencies in order to use the functionality.
The `util-simple-auth` and `util-oauth2` Foxx services have been replaced with the [Foxx auth](../Auth.md) and Foxx OAuth2<!-- TODO (link to docs) --> modules. It is no longer necessary to install these services as dependencies in order to use the functionality.
Old:

View File

@ -335,7 +335,8 @@ OperationID ClusterComm::asyncRequest(
std::unique_ptr<HttpRequest> request;
if (prepared.second == nullptr) {
request.reset(HttpRequest::createHttpRequest(ContentType::JSON, "", 0, {}));
std::unordered_map<std::string, std::string> unusedHeaders;
request.reset(HttpRequest::createHttpRequest(ContentType::JSON, "", 0, unusedHeaders));
request->setRequestType(reqtype); // mop: a fake but a good one
} else {
request.reset(prepared.second);

View File

@ -260,7 +260,8 @@ struct ClusterCommResult {
// containing the body of our response
// :snake: OPST_CIRCUS
answer_code = dynamic_cast<HttpResponse*>(response.get())->responseCode();
HttpRequest* request = HttpRequest::createHttpRequest(ContentType::JSON, dynamic_cast<HttpResponse*>(response.get())->body().c_str(), dynamic_cast<HttpResponse*>(response.get())->body().length(), {});
std::unordered_map<std::string, std::string> unusedHeaders;
HttpRequest* request = HttpRequest::createHttpRequest(ContentType::JSON, dynamic_cast<HttpResponse*>(response.get())->body().c_str(), dynamic_cast<HttpResponse*>(response.get())->body().length(), unusedHeaders);
auto headers = response->headers();
auto errorCodes = headers.find(StaticStrings::ErrorCodes);

View File

@ -220,7 +220,8 @@ int Communicator::work_once() {
void Communicator::wait() {
static int const MAX_WAIT_MSECS = 1000; // wait max. 1 seconds
int res = curl_multi_wait(_curl, &_wakeup, 1, MAX_WAIT_MSECS, &_numFds);
int numFds; // not used here
int res = curl_multi_wait(_curl, &_wakeup, 1, MAX_WAIT_MSECS, &numFds);
if (res != CURLM_OK) {
throw std::runtime_error(
"Invalid curl multi result while waiting! Result was " +
@ -377,8 +378,7 @@ void Communicator::handleResult(CURL* handle, CURLcode rc) {
std::string prefix("Communicator(" + std::to_string(rip->_ticketId) +
") // ");
LOG_TOPIC(TRACE, Logger::REQUESTS)
<< prefix << "Curl rc is : " << rc << " after " << std::fixed
<< (TRI_microtime() - rip->_startTime) << "s";
<< prefix << "Curl rc is : " << rc << " after " << Logger::FIXED(TRI_microtime() - rip->_startTime) << " s";
if (strlen(rip->_errorBuffer) != 0) {
LOG_TOPIC(TRACE, Logger::REQUESTS)
<< prefix << "Curl error details: " << rip->_errorBuffer;

View File

@ -50,6 +50,7 @@ struct RequestInProgress {
_ticketId(ticketId),
_requestBody(requestBody),
_requestHeaders(nullptr),
_startTime(0.0),
_responseBody(new StringBuffer(TRI_UNKNOWN_MEM_ZONE, false)),
_options(options) {
_errorBuffer[0] = '\0';
@ -147,8 +148,6 @@ class Communicator {
int _fds[2];
#endif
int _numFds;
private:
void createRequestInProgress(NewRequest const& newRequest);
void handleResult(CURL*, CURLcode);

View File

@ -29,6 +29,9 @@ namespace arangodb {
namespace httpclient {
class SimpleHttpCommunicatorResult: public SimpleHttpResult {
using SimpleHttpResult::getBody;
using SimpleHttpResult::getBodyVelocyPack;
public:
SimpleHttpCommunicatorResult() = delete;
explicit SimpleHttpCommunicatorResult(HttpResponse* response)
@ -42,8 +45,8 @@ class SimpleHttpCommunicatorResult: public SimpleHttpResult {
virtual std::string getHttpReturnMessage() const override { return GeneralResponse::responseString(_response->responseCode()); }
virtual bool hasContentLength() const override { return true; }
virtual size_t getContentLength() const override { return _response->body().length(); }
virtual arangodb::basics::StringBuffer& getBody() override { return _response->body(); }
virtual std::shared_ptr<VPackBuilder> getBodyVelocyPack(VPackOptions const& options) const override {
arangodb::basics::StringBuffer& getBody() override { return _response->body(); }
std::shared_ptr<VPackBuilder> getBodyVelocyPack(VPackOptions const& options) const override {
return VPackParser::fromJson(_response->body().c_str(), _response->body().length(), &options);
}
virtual enum resultTypes getResultType() const override {