示例#1
0
// Get web page file
void GetFileService::Handle(QSharedPointer<WebRequest> wrp)
{
    QFile file(_webpath);
    if(!file.exists()) {
        wrp->SetStatus(HttpResponse::STATUS_NOT_FOUND);
        emit FinishedWebRequest(wrp, false);
        return;
    }

    QString outputData;
    if(file.open(QIODevice::ReadOnly | QIODevice::Text)) {
        outputData = file.readAll();
    }
    file.close();

    wrp->GetOutputData().setValue(outputData);
    wrp->SetStatus(HttpResponse::STATUS_OK);
    emit FinishedWebRequest(wrp, false);
}
示例#2
0
  void RoundIdService::Handle(QSharedPointer<WebRequest> wrp)
  {
    QSharedPointer<Session> session = GetSession();
    QVariantMap map;

    bool session_active = !session.isNull();
    map["active"] = false;
    map["id"] = "";

    if(session_active) {
      QSharedPointer<Dissent::Anonymity::Round> round =
        session->GetCurrentRound();

      if(!round.isNull()) {
        map["active"] = true;
        map["id"] = round->GetRoundId().ToString();
      } 
    } 

    wrp->GetOutputData().setValue(map);
    wrp->SetStatus(HttpResponse::STATUS_OK);
    emit FinishedWebRequest(wrp, true);
    return;
  }