Exemple #1
0
const char* ClientHandler::send() {
  if (_requestReady) {
    _client->println("Connection: close");
    _client->println();

    buildResponse();

    if (_activeLogs) {
      Serial.println("disconnecting.");
      Serial.println("");
      Serial.println("status");
      Serial.println(_status);
      Serial.println("");
      Serial.print("headers");
      Serial.print(_responseHeaders);
      Serial.println("");
      Serial.print("body");
      Serial.println(_body);
    }

    _client->stop();

    return _body.c_str();
  }
  else {
    return "Request is not ready to be sent";
  }
}
Exemple #2
0
Status doSaslStep(const ClientBasic* client,
                  SaslAuthenticationSession* session,
                  const BSONObj& cmdObj,
                  BSONObjBuilder* result) {
    std::string payload;
    BSONType type = EOO;
    Status status = saslExtractPayload(cmdObj, &payload, &type);
    if (!status.isOK())
        return status;

    std::string responsePayload;
    // Passing in a payload and extracting a responsePayload
    status = session->step(payload, &responsePayload);

    if (!status.isOK()) {
        log() << session->getMechanism() << " authentication failed for "
              << session->getPrincipalId() << " on " << session->getAuthenticationDatabase()
              << " from client " << client->getRemote().toString() << " ; " << status.toString()
              << std::endl;

        sleepmillis(saslGlobalParams.authFailedDelay);
        // All the client needs to know is that authentication has failed.
        return Status(ErrorCodes::AuthenticationFailed, "Authentication failed.");
    }

    status = buildResponse(session, responsePayload, type, result);
    if (!status.isOK())
        return status;

    if (session->isDone()) {
        UserName userName(session->getPrincipalId(), session->getAuthenticationDatabase());
        status =
            session->getAuthorizationSession()->addAndAuthorizeUser(session->getOpCtxt(), userName);
        if (!status.isOK()) {
            return status;
        }

        if (!serverGlobalParams.quiet) {
            log() << "Successfully authenticated as principal " << session->getPrincipalId()
                  << " on " << session->getAuthenticationDatabase();
        }
    }
    return Status::OK();
}
c2s::C2SHttpResponse * ResumeSkillsGet::process()
{
    c2s::io::DateTimeLogger log("skills");
    mongo::DBClientConnection mongo;
    mongo::BSONObj skills;

    try
    {
        mongo.connect("localhost");
        skills = mongo.findOne("test.resume.skills", mongo::Query());
    }
    catch(mongo::ConnectException ex)
    {
        log.error(std::string("Connection Exception: ") + ex.what());
        skills = BSON("DB Connection Failed." << ex.toString() << "isError" << true);
    }
    catch(mongo::DBException ex)
    {
        log.error(std::string("Database Exception: ") + ex.what());
        log.error(mongo.getLastError());
        skills = BSON("DB Query Failed." << ex.toString()  << "isError" << true);
    }

    std::string skillsJson = skills.jsonString();

    if (jsonpCallback.size())
    {
        jsonpCallback += "(" + skillsJson + ");";
        skillsJson = jsonpCallback;
    }

    c2s::C2SHttpResponse * pResponse = buildResponse(c2s::OK, skillsJson);
    pResponse->header().Fields.set("Access-Control-Allow-Origin", "*");
    pResponse->header().Fields.set("Content-Type", "application/json; charset=utf-8");
    return pResponse;
}
Exemple #4
0
 virtual soap_out_t* buildSpecificResponse(const ns1__TStatusCode srmStatusCode,
         const char* const srmStatusExplanation){
     m_status = srmStatusCode;
     m_explanation = srmStatusExplanation;
     return buildResponse();
 }
void DefaultRestController::testObject(TestMany testMany)
{
	buildResponse(HTTPResponseStatus::Ok, "TestMany", &testMany);
	cout << "Processed input request inside DefaultRestController for testObject..." << endl;
}