/*! 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; }