mirror of https://gitee.com/bigwinds/arangodb
use auto for HTTP response headers iteration
This commit is contained in:
parent
a537507dc6
commit
5ad7dea0c8
|
@ -779,10 +779,10 @@ void RestReplicationHandler::handleTrampolineCoordinator () {
|
|||
(res->result->getHttpReturnCode()));
|
||||
_response->setContentType(res->result->getHeaderField("content-type",dummy));
|
||||
_response->body().swap(& (res->result->getBody()));
|
||||
map<string, string> resultHeaders = res->result->getHeaderFields();
|
||||
map<string, string>::iterator it;
|
||||
for (it = resultHeaders.begin(); it != resultHeaders.end(); ++it) {
|
||||
_response->setHeader(it->first, it->second);
|
||||
|
||||
auto const& resultHeaders = res->result->getHeaderFields();
|
||||
for (auto const& it : resultHeaders) {
|
||||
_response->setHeader(it.first, it.second);
|
||||
}
|
||||
delete res;
|
||||
}
|
||||
|
|
|
@ -1356,12 +1356,11 @@ static void JS_ClusterTest (const v8::FunctionCallbackInfo<v8::Value>& args) {
|
|||
else { // Everything is OK
|
||||
// The headers:
|
||||
v8::Handle<v8::Object> h = v8::Object::New(isolate);
|
||||
map<string,string> headers = res->result->getHeaderFields();
|
||||
map<string,string>::iterator i;
|
||||
for (i = headers.begin(); i != headers.end(); ++i) {
|
||||
h->Set(TRI_V8_STD_STRING(i->first), TRI_V8_STD_STRING(i->second));
|
||||
auto const& headers = res->result->getHeaderFields();
|
||||
for (auto const& it : headers) {
|
||||
h->ForceSet(TRI_V8_STD_STRING(it.first), TRI_V8_STD_STRING(it.second));
|
||||
}
|
||||
r->Set(TRI_V8_ASCII_STRING("headers"), h);
|
||||
r->ForceSet(TRI_V8_ASCII_STRING("headers"), h);
|
||||
|
||||
// The body:
|
||||
StringBuffer& theBody = res->result->getBody();
|
||||
|
|
|
@ -352,8 +352,8 @@ namespace triagens {
|
|||
}
|
||||
}
|
||||
else {
|
||||
const std::map<std::string, std::string>& headers = result->getHeaderFields();
|
||||
std::map<std::string, std::string>::const_iterator it = headers.find(_errorHeader);
|
||||
auto const& headers = result->getHeaderFields();
|
||||
auto it = headers.find(_errorHeader);
|
||||
|
||||
if (it != headers.end()) {
|
||||
uint32_t errorCount = StringUtils::uint32((*it).second);
|
||||
|
|
|
@ -432,6 +432,7 @@ v8::Handle<v8::Value> V8ClientConnection::requestData (v8::Isolate* isolate,
|
|||
|
||||
if (_httpResult != nullptr) {
|
||||
delete _httpResult;
|
||||
_httpResult = nullptr;
|
||||
}
|
||||
|
||||
if (body.empty()) {
|
||||
|
@ -461,8 +462,8 @@ v8::Handle<v8::Value> V8ClientConnection::handleResult (v8::Isolate* isolate) {
|
|||
_lastHttpReturnCode = HttpResponse::SERVER_ERROR;
|
||||
|
||||
v8::Handle<v8::Object> result = v8::Object::New(isolate);
|
||||
result->Set(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, true));
|
||||
result->Set(TRI_V8_ASCII_STRING("code"), v8::Integer::New(isolate, HttpResponse::SERVER_ERROR));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, true));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("code"), v8::Integer::New(isolate, HttpResponse::SERVER_ERROR));
|
||||
|
||||
int errorNumber = 0;
|
||||
|
||||
|
@ -484,8 +485,8 @@ v8::Handle<v8::Value> V8ClientConnection::handleResult (v8::Isolate* isolate) {
|
|||
break;
|
||||
}
|
||||
|
||||
result->Set(TRI_V8_ASCII_STRING("errorNum"), v8::Integer::New(isolate, errorNumber));
|
||||
result->Set(TRI_V8_ASCII_STRING("errorMessage"), TRI_V8_STD_STRING(_lastErrorMessage));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("errorNum"), v8::Integer::New(isolate, errorNumber));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("errorMessage"), TRI_V8_STD_STRING(_lastErrorMessage));
|
||||
|
||||
return scope.Escape<v8::Value>(result);
|
||||
}
|
||||
|
@ -511,17 +512,17 @@ v8::Handle<v8::Value> V8ClientConnection::handleResult (v8::Isolate* isolate) {
|
|||
|
||||
v8::Handle<v8::Object> result = v8::Object::New(isolate);
|
||||
|
||||
result->Set(TRI_V8_ASCII_STRING("code"), v8::Integer::New(isolate, _lastHttpReturnCode));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("code"), v8::Integer::New(isolate, _lastHttpReturnCode));
|
||||
|
||||
if (_lastHttpReturnCode >= 400) {
|
||||
string returnMessage(_httpResult->getHttpReturnMessage());
|
||||
|
||||
result->Set(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, true));
|
||||
result->Set(TRI_V8_ASCII_STRING("errorNum"), v8::Integer::New(isolate, _lastHttpReturnCode));
|
||||
result->Set(TRI_V8_ASCII_STRING("errorMessage"), TRI_V8_STD_STRING(returnMessage));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, true));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("errorNum"), v8::Integer::New(isolate, _lastHttpReturnCode));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("errorMessage"), TRI_V8_STD_STRING(returnMessage));
|
||||
}
|
||||
else {
|
||||
result->Set(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, false));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, false));
|
||||
}
|
||||
return scope.Escape<v8::Value>(result);
|
||||
}
|
||||
|
@ -544,10 +545,11 @@ v8::Handle<v8::Value> V8ClientConnection::requestDataRaw (v8::Isolate* isolate,
|
|||
|
||||
if (_httpResult) {
|
||||
delete _httpResult;
|
||||
_httpResult = nullptr;
|
||||
}
|
||||
|
||||
if (body.empty()) {
|
||||
_httpResult = _client->request(method, location, 0, 0, headerFields);
|
||||
_httpResult = _client->request(method, location, nullptr, 0, headerFields);
|
||||
}
|
||||
else {
|
||||
_httpResult = _client->request(method, location, body.c_str(), body.length(), headerFields);
|
||||
|
@ -564,7 +566,7 @@ v8::Handle<v8::Value> V8ClientConnection::requestDataRaw (v8::Isolate* isolate,
|
|||
_lastHttpReturnCode = HttpResponse::SERVER_ERROR;
|
||||
|
||||
v8::Handle<v8::Object> result = v8::Object::New(isolate);
|
||||
result->Set(TRI_V8_ASCII_STRING("code"), v8::Integer::New(isolate, HttpResponse::SERVER_ERROR));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("code"), v8::Integer::New(isolate, HttpResponse::SERVER_ERROR));
|
||||
|
||||
int errorNumber = 0;
|
||||
|
||||
|
@ -586,8 +588,8 @@ v8::Handle<v8::Value> V8ClientConnection::requestDataRaw (v8::Isolate* isolate,
|
|||
break;
|
||||
}
|
||||
|
||||
result->Set(TRI_V8_ASCII_STRING("errorNum"), v8::Integer::New(isolate, errorNumber));
|
||||
result->Set(TRI_V8_ASCII_STRING("errorMessage"), TRI_V8_STD_STRING(_lastErrorMessage));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("errorNum"), v8::Integer::New(isolate, errorNumber));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("errorMessage"), TRI_V8_STD_STRING(_lastErrorMessage));
|
||||
|
||||
return scope.Escape<v8::Value>(result);
|
||||
}
|
||||
|
@ -598,17 +600,17 @@ v8::Handle<v8::Value> V8ClientConnection::requestDataRaw (v8::Isolate* isolate,
|
|||
// create raw response
|
||||
v8::Handle<v8::Object> result = v8::Object::New(isolate);
|
||||
|
||||
result->Set(TRI_V8_ASCII_STRING("code"), v8::Integer::New(isolate, _lastHttpReturnCode));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("code"), v8::Integer::New(isolate, _lastHttpReturnCode));
|
||||
|
||||
if (_lastHttpReturnCode >= 400) {
|
||||
string returnMessage(_httpResult->getHttpReturnMessage());
|
||||
|
||||
result->Set(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, true));
|
||||
result->Set(TRI_V8_ASCII_STRING("errorNum"), v8::Integer::New(isolate, _lastHttpReturnCode));
|
||||
result->Set(TRI_V8_ASCII_STRING("errorMessage"), TRI_V8_STD_STRING(returnMessage));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, true));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("errorNum"), v8::Integer::New(isolate, _lastHttpReturnCode));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("errorMessage"), TRI_V8_STD_STRING(returnMessage));
|
||||
}
|
||||
else {
|
||||
result->Set(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, false));
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("error"), v8::Boolean::New(isolate, false));
|
||||
}
|
||||
|
||||
// got a body, copy it into the result
|
||||
|
@ -616,21 +618,21 @@ v8::Handle<v8::Value> V8ClientConnection::requestDataRaw (v8::Isolate* isolate,
|
|||
if (sb.length() > 0) {
|
||||
v8::Handle<v8::String> b = TRI_V8_STD_STRING(sb);
|
||||
|
||||
result->Set(TRI_V8_ASCII_STRING("body"), b);
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("body"), b);
|
||||
}
|
||||
|
||||
// copy all headers
|
||||
v8::Handle<v8::Object> headers = v8::Object::New(isolate);
|
||||
const map<string, string>& hf = _httpResult->getHeaderFields();
|
||||
auto const& hf = _httpResult->getHeaderFields();
|
||||
|
||||
for (map<string, string>::const_iterator i = hf.begin(); i != hf.end(); ++i) {
|
||||
v8::Handle<v8::String> key = TRI_V8_STD_STRING(i->first);
|
||||
v8::Handle<v8::String> val = TRI_V8_STD_STRING(i->second);
|
||||
for (auto const& it : hf) {
|
||||
v8::Handle<v8::String> key = TRI_V8_STD_STRING(it.first);
|
||||
v8::Handle<v8::String> val = TRI_V8_STD_STRING(it.second);
|
||||
|
||||
headers->Set(key, val);
|
||||
headers->ForceSet(key, val);
|
||||
}
|
||||
|
||||
result->Set(TRI_V8_ASCII_STRING("headers"), headers);
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("headers"), headers);
|
||||
|
||||
// and returns
|
||||
return scope.Escape<v8::Value>(result);
|
||||
|
|
|
@ -899,15 +899,15 @@ static void JS_Download (const v8::FunctionCallbackInfo<v8::Value>& args) {
|
|||
result->Set(TRI_V8_ASCII_STRING("message"), TRI_V8_STD_STRING(returnMessage));
|
||||
|
||||
// process response headers
|
||||
auto responseHeaders = response->getHeaderFields();
|
||||
auto const& responseHeaders = response->getHeaderFields();
|
||||
|
||||
v8::Handle<v8::Object> headers = v8::Object::New(isolate);
|
||||
|
||||
for (auto it = responseHeaders.begin(); it != responseHeaders.end(); ++it) {
|
||||
headers->Set(TRI_V8_STD_STRING((*it).first), TRI_V8_STD_STRING((*it).second));
|
||||
for (auto const& it : responseHeaders) {
|
||||
headers->ForceSet(TRI_V8_STD_STRING(it.first), TRI_V8_STD_STRING(it.second));
|
||||
}
|
||||
|
||||
result->Set(TRI_V8_ASCII_STRING("headers"), headers);
|
||||
result->ForceSet(TRI_V8_ASCII_STRING("headers"), headers);
|
||||
|
||||
if (returnBodyOnError || (returnCode >= 200 && returnCode <= 299)) {
|
||||
try {
|
||||
|
|
Loading…
Reference in New Issue