/*! This method will be used to process the given \a request and the given \a urlTokens. The request has to be in this namespace. Returns the resulting \l HttpReply. \sa HttpRequest, HttpReply, RestResource::proccessRequest() */ HttpReply *RulesResource::proccessRequest(const HttpRequest &request, const QStringList &urlTokens) { // /api/v1/rules/{ruleId}/ if (urlTokens.count() >= 4) { m_ruleId = RuleId(urlTokens.at(3)); if (m_ruleId.isNull()) { qCWarning(dcRest) << "Could not parse RuleId:" << urlTokens.at(3); return createRuleErrorReply(HttpReply::BadRequest, RuleEngine::RuleErrorRuleNotFound); } if (!GuhCore::instance()->ruleEngine()->findRule(m_ruleId).isValid()) { qCWarning(dcRest) << "Could not find rule with id" << m_ruleId.toString(); return createRuleErrorReply(HttpReply::NotFound, RuleEngine::RuleErrorRuleNotFound); } } // check method HttpReply *reply; switch (request.method()) { case HttpRequest::Get: reply = proccessGetRequest(request, urlTokens); break; case HttpRequest::Put: reply = proccessPutRequest(request, urlTokens); break; case HttpRequest::Post: reply = proccessPostRequest(request, urlTokens); break; case HttpRequest::Delete: reply = proccessDeleteRequest(request, urlTokens); break; case HttpRequest::Options: reply = proccessOptionsRequest(request, urlTokens); break; default: reply = createErrorReply(HttpReply::BadRequest); break; } return reply; }
/*! This method will be used to process the given \a request and the given \a urlTokens. The request has to be in this namespace. Returns the resulting \l HttpReply. \sa HttpRequest, HttpReply, RestResource::proccessRequest() */ HttpReply *VendorsResource::proccessRequest(const HttpRequest &request, const QStringList &urlTokens) { // /api/v1/vendors/{vendorId}/ if (urlTokens.count() >= 4) { m_vendorId = VendorId(urlTokens.at(3)); if (m_vendorId.isNull()) { qCWarning(dcRest) << "Could not parse VendorId:" << urlTokens.at(3); return createDeviceErrorReply(HttpReply::BadRequest, DeviceManager::DeviceErrorVendorNotFound); } } // check method HttpReply *reply; switch (request.method()) { case HttpRequest::Get: reply = proccessGetRequest(request, urlTokens); break; default: reply = createErrorReply(HttpReply::BadRequest); break; } return reply; }
/*! \fn QDBusMessage QDBusMessage::createErrorReply(QDBusError::ErrorType type, const QString &msg) const Constructs a new DBus reply message for the error type \a type using the message \a msg. Returns the DBus message. */ QDBusMessage QDBusMessage::createErrorReply(QDBusError::ErrorType atype, const QString &amsg) const { QDBusMessage msg = createErrorReply(QDBusError::errorString(atype), amsg); msg.d_ptr->parametersValidated = true; return msg; }