本文整理汇总了C++中WebContext类的典型用法代码示例。如果您正苦于以下问题:C++ WebContext类的具体用法?C++ WebContext怎么用?C++ WebContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了WebContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: strstr
void GetFeatureRequest::SetTypeName(const char* value,bool encoding)
{
//if(value==NULL)
//{
// return;
//}
//const char* sep = strstr(value,":");
//m_full_name = value;
//m_type_name = sep==NULL ? value : sep+1;
if(value==NULL)
{
m_type_name.clear();
}
else
{
const char* sep = strstr(value,":");
const char* typeName = (sep==NULL ? value : sep+1);
//m_full_name = value;
//m_type_name = typeName;
if(encoding)
{
WebContext* pWebContext = augeGetWebContextInstance();
m_full_name = pWebContext->ParameterEncoding(value);
m_type_name = pWebContext->ParameterEncoding(typeName);
}
else
{
m_full_name = value;
m_type_name = typeName;
}
}
}
示例2: augeGetWebContextInstance
bool GetFeatureRequest::Create(rude::CGI& cgi, Map* pMap)
{
WebContext* pWebContext = augeGetWebContextInstance();
char parameter[AUGE_NAME_MAX];
SetVersion(cgi["version"]);
//auge_web_parameter_encoding(, parameter, AUGE_NAME_MAX, pWebContext->IsIE());
SetTypeName(cgi["typeName"],true);
auge_web_parameter_encoding(cgi["sourceName"], parameter, AUGE_NAME_MAX, pWebContext->IsIE());
SetSourceName(parameter);
//auge_web_parameter_encoding(cgi["mapName"], parameter, AUGE_NAME_MAX, pWebContext->IsIE());
SetMapName(cgi["mapName"], true);
SetOutputFormat(cgi["outputFormat"]);
SetMaxFeatures(cgi["maxFeatures"]);
SetOffset(cgi["offset"]);
SetBBox(cgi["bbox"]);
SetEncoding(cgi["encoding"]);
m_filter = cgi["filter"];
m_fields = cgi["fields"];
//if(!m_extent.IsValid())
//{
// SetQuery(cgi["filter"],cgi["fields"], GetTypeName(), pMap);
//}
return true;
}
示例3: openSession
SessionPtr SessionManager::openSession(WebContext &ctx, const string &_id) {
string id = _id;
if (id.empty()) id = generateSessionID(ctx);
SmartLock lock(this);
// Get the session
SessionPtr session;
sessions_t::iterator it = sessions.find(id);
if (it != sessions.end()) session = it->second;
if (session.isNull()) {
session = factory->createSession(id);
sessions.insert(sessions_t::value_type(id, session));
}
// Set IP
IPAddress ip = ctx.getClientIP();
ip.setPort(0);
session->setIP(ip);
session->touch(); // Update timestamp
ctx.setSession(session);
dirty = true;
return session;
}
示例4: augeGetCartoFactoryInstance
WebResponse* GetPreviewHandler::DrawFeature(FeatureClass* pFeatureClass, GetPreviewRequest* pRequest)
{
g_uint width = pRequest->GetWidth();
g_uint height = pRequest->GetHeight();
Canvas* pCanvas = NULL;
CartoFactory* pCartoFactory = augeGetCartoFactoryInstance();
GLogger* pLogger = augeGetLoggerInstance();
Style* pStyle = NULL;
FeatureLayer* pFeatureLayer = NULL;
CartoManager* pCartoManager = augeGetCartoManagerInstance();
StyleFactory* pStyleFactory = augeGetStyleFactoryInstance();
pFeatureLayer = pCartoFactory->CreateFeatureLayer();
pFeatureLayer->SetFeatureClass(pFeatureClass);
//pFeatureClass->AddRef();
GField* pField = pFeatureClass->GetFields()->GetGeometryField();
augeGeometryType type = pField->GetGeometryDef()->GeometryType();
pStyle = pStyleFactory->CreateFeatureStyle(type);
GColor bgColor(255,255,255,255);
pCanvas = pCartoFactory->CreateCanvas2D(width, height);
pCanvas->DrawBackground(bgColor);
GEnvelope extent = pRequest->GetExtent();
if(extent.IsValid())
{
pCanvas->SetViewer(extent);
}
else
{
pCanvas->SetViewer(pFeatureClass->GetExtent());
}
//pCanvas->SetViewer(extent.IsValid() ? extent : pFeatureClass->GetExtent());
pCanvas->DrawLayer(pFeatureLayer, pStyle);
char img_sfix[AUGE_EXT_MAX] = {0};
//char img_name[AUGE_NAME_MAX] = {0};
char img_path[AUGE_PATH_MAX] = {0};
auge_get_image_suffix(pRequest->GetMimeType(), img_sfix, AUGE_EXT_MAX);
//auge_generate_uuid(img_name, AUGE_NAME_MAX);
WebContext* pWebContext = augeGetWebContextInstance();
//const char* cache_path = "E:\\Research\\Auge.GIS\\Dist\\32_x86_win_vc10\\binD\\cache\\map";//pWebContext->GetCacheMapPath();
const char* uuid = pFeatureClass->GetUUID();
auge_make_path(img_path, NULL, pWebContext->GetCacheMapPath(), pFeatureClass->GetUUID(), img_sfix);
pCanvas->Save(img_path);
pCanvas->Release();
GetPreviewResponse* pMapResponse = new GetPreviewResponse(pRequest);
pMapResponse->SetPath(img_path);
pStyle->Release();
pFeatureLayer->Release();
return pMapResponse;
}
示例5: setSessionCookie
void SessionManager::setSessionCookie(WebContext &ctx) const {
SessionPtr session = ctx.getSession();
Cookie cookie(sessionCookie, session->getID(), "", "",
session->getCreationTime() + sessionLifetime,
sessionLifetime, true, true);
ctx.getResponse().set("Set-Cookie", cookie.toString());
}
示例6: augeGetWebContextInstance
bool CreateMapRequest::Create(rude::CGI& cgi)
{
char str[AUGE_NAME_MAX];
WebContext* pWebContext = augeGetWebContextInstance();
auge_web_parameter_encoding(cgi["name"], str, AUGE_NAME_MAX, pWebContext->IsIE());
SetName(str);
SetExtent(cgi["extent"]);
SetSRID(cgi["srid"]);
SetVersion(cgi["version"]);
return true;
}
示例7: augeGetWebContextInstance
void DescribeLayerRequest::SetLayerName(const char* name)
{
if(name==NULL)
{
m_layer_name.clear();
}
else
{
WebContext* pWebContext = augeGetWebContextInstance();
m_layer_name = pWebContext->ParameterEncoding(name);
//m_layer_name = name;
}
}
示例8: generateSessionID
string SessionManager::generateSessionID(WebContext &ctx) const {
#ifdef HAVE_OPENSSL
Digest digest("md5");
if (ctx.getRequest().has("User-Agent"))
digest.update(ctx.getRequest().get("User-Agent"));
digest.updateWith(Time::now());
return digest.toHexString();
#else
return SSTR("0x" << hex << Random::instance().rand<uint64_t>());
#endif
}
示例9: handlePage
bool WebHandler::handlePage(WebContext &ctx, ostream &stream, const URI &uri) {
if (WebPageHandlerGroup::handlePage(ctx, stream, uri)) {
// Tell client to cache static pages
if (ctx.isStatic()) ctx.getConnection().getResponse().setCacheExpire();
// Set default content type
Response &response = ctx.getConnection().getResponse();
if (!response.has("Content-Type"))
response.setContentTypeFromExtension(uri.getPath());
return true;
}
return false;
}
示例10: augeGetJobManagerInstance
void FeatureProjectHandler::Begin(User* pUser)
{
JobManager* pJobmanager = augeGetJobManagerInstance();
WebContext* pWebContext = augeGetWebContextInstance();
if(m_pJob!=NULL)
{
AUGE_SAFE_RELEASE(m_pJob);
}
const char* client = "";
const char* server = pWebContext->GetServer();
const char* operation= GetName();
const char* service = "gps";
const char* params = "";
m_pJob = pJobmanager->AddJob(pUser->GetID(), service, operation, params, client, server);
}
示例11: readJson
void RestResource::readJson(WebContext &wc, Json::Value & value) {
Json::Reader reader;
bool success = reader.parse(wc.getRequest().getContent(), value);
if(!success) {
throw ParsingContentException();
}
}
示例12: writeJsonResponse
void RestResource::writeJsonResponse(WebContext &wc, Json::Value &value, int apiStatus) {
Json::Value response;
response[API_RESPONSE_PARAM] = value;
response[API_STATUS_CODE_PARAM] = apiStatus;
Json::FastWriter writer;
string content = writer.write(response);
wc.getResponse().setContent(content);
}
示例13: if
void DescribeServiceRequest::SetName(const char* name)
{
if(name==NULL)
{
m_name.clear();
}
else if(strlen(name)==0)
{
m_name.clear();
}
else
{
WebContext* pWebContext = augeGetWebContextInstance();
m_name = pWebContext->ParameterEncoding(name);
}
}
示例14: getSession
SessionPtr SessionManager::getSession(WebContext &ctx,
const std::string &_id) const {
string id = _id;
if (id.empty()) id = ctx.getRequest().findCookie(sessionCookie);
if (id.empty()) THROW("Session ID is not set");
if (!ctx.getSession().isNull() && id == ctx.getSession()->getID())
return ctx.getSession();
SmartLock lock(this);
iterator it = sessions.find(id);
if (it == end()) THROWS("Session ID '" << id << "' does not exist");
SmartPointer<Session> session = it->second;
// Check that IP address matches
if (ctx.getClientIP().getIP() != session->getIP().getIP())
THROWS("Session ID (" << id << ") IP address changed from "
<< ctx.getClientIP() << " to " << session->getIP());
session->touch(); // Update timestamp
ctx.setSession(session);
dirty = true;
return session;
}
示例15: if
void RemoveTileStoreRequest::SetStoreName(const char* name)
{
if(name==NULL||(strlen(name)==0))
{
m_store_name.clear();
}
else if(strlen(name)==0)
{
m_store_name.clear();
}
else
{
//m_store_name = name;
WebContext* pWebContext = augeGetWebContextInstance();
m_store_name = pWebContext->ParameterEncoding(name);
}
}