Référence du fichier Request.cpp

Implémentation de la classe Request, analysant les requêtes HTTP. Plus de détails...

#include "Request.h"
#include "Message.h"
#include <rok4/utils/CRS.h>
#include <rok4/utils/Pyramid.h>
#include <cstdlib>
#include <climits>
#include <vector>
#include <cstdio>
#include "UtilsXML.h"
#include "config.h"
#include <algorithm>
#include <regex>

Fonctions

std::string RequestType::toString (eRequestType rt)
 Conversion d'un type de requête vers une chaîne de caractères. Plus de détails...
 
std::string ServiceType::toString (eServiceType st)
 Conversion d'un type de service vers une chaîne de caractères. Plus de détails...
 
std::string TemplateOGC::toString (eTemplateOGC r)
 Conversion d'un type vers une chaîne de caractères.
 
char hex2int (unsigned char hex)
 Convertit un caractère héxadécimal (0-9, A-Z, a-z) en décimal. Plus de détails...
 
void removeNameSpace (std::string &elementName)
 Supprime l'espace de nom (la partie avant :) de la balise XML. Plus de détails...
 
void parseGetCapabilitiesPost (TiXmlHandle &hGetCap, std::map< std::string, std::string > &parameters)
 Analyse des paramètres d'une requête GetCapabilities en POST XML. Plus de détails...
 
void parseGetTilePost (TiXmlHandle &hGetTile, std::map< std::string, std::string > &parameters)
 Analyse des paramètres d'une requête GetTile en POST XML. Plus de détails...
 
void parseGetMapPost (TiXmlHandle &hGetMap, std::map< std::string, std::string > &parameters)
 Analyse des paramètres d'une requête GetMap en POST XML. Plus de détails...
 
void parsePostContent (std::string content, std::map< std::string, std::string > &parameters)
 Analyse des paramètres d'une requête POST XML. Plus de détails...
 

Variables

const char *const RequestType::requesttype_name []
 
const char *const ServiceType::servicetype_name []
 
const char *const TemplateOGC::regex []
 

Description détaillée

Implémentation de la classe Request, analysant les requêtes HTTP.

Documentation des fonctions

◆ hex2int()

char hex2int ( unsigned char  hex)

Convertit un caractère héxadécimal (0-9, A-Z, a-z) en décimal.

Paramètres
[in]hexcaractère
Renvoie
0xFF sur une entrée invalide

◆ parseGetCapabilitiesPost()

void parseGetCapabilitiesPost ( TiXmlHandle &  hGetCap,
std::map< std::string, std::string > &  parameters 
)

Analyse des paramètres d'une requête GetCapabilities en POST XML.

Paramètres
[in]hGetCapélement XML de la requête
[in,out]parametersliste associative des paramètres

◆ parseGetMapPost()

void parseGetMapPost ( TiXmlHandle &  hGetMap,
std::map< std::string, std::string > &  parameters 
)

Analyse des paramètres d'une requête GetMap en POST XML.

Paramètres
[in]hGetMapélement XML de la requête
[in,out]parametersliste associative des paramètres

◆ parseGetTilePost()

void parseGetTilePost ( TiXmlHandle &  hGetTile,
std::map< std::string, std::string > &  parameters 
)

Analyse des paramètres d'une requête GetTile en POST XML.

Paramètres
[in]hGetTileélement XML de la requête
[in,out]parametersliste associative des paramètres

◆ parsePostContent()

void parsePostContent ( std::string  content,
std::map< std::string, std::string > &  parameters 
)

Analyse des paramètres d'une requête POST XML.

Paramètres
[in]contentcontenu de la requête POST
[in,out]parametersliste associative des paramètres

◆ removeNameSpace()

void removeNameSpace ( std::string &  elementName)

Supprime l'espace de nom (la partie avant :) de la balise XML.

Paramètres
[in,out]elementNamele nom de la balise

◆ toString() [1/2]

std::string RequestType::toString ( eRequestType  rt)

Conversion d'un type de requête vers une chaîne de caractères.

Paramètres
[in]rttype de requête à convertir
Renvoie
la chaîne de caractère nommant le type de requête

◆ toString() [2/2]

std::string ServiceType::toString ( eServiceType  st)

Conversion d'un type de service vers une chaîne de caractères.

Paramètres
[in]sttype de service à convertir
Renvoie
la chaîne de caractère nommant le type de service

Documentation des variables

◆ regex

const char* const TemplateOGC::regex[]
Valeur initiale :
= {
"^/ogcapitiles/styles/(.*)/map/tiles/(.*)/(\\d{1,})/(\\d{1,})/(\\d{1,})(/info)?",
"^/ogcapitiles/map/tiles/(.*)/(\\d{1,})/(\\d{1,})/(\\d{1,})(/info)?",
"^/ogcapitiles/collections/(.*)/styles/(.*)/map/tiles/(.*)/(\\d{1,})/(\\d{1,})/(\\d{1,})(/info)?",
"^/ogcapitiles/collections/(.*)/map/tiles/(.*)/(\\d{1,})/(\\d{1,})/(\\d{1,})(/info)?",
"^/ogcapitiles/tiles/(.*)/(\\d{1,})/(\\d{1,})/(\\d{1,})(/info)?",
"^/ogcapitiles/collections/(.*)/tiles/(.*)/(\\d{1,})/(\\d{1,})/(\\d{1,})(/info)?",
"^/ogcapitiles/collections$",
"^/ogcapitiles/collections/(.*)/map/tiles$",
"^/ogcapitiles/collections/(.*)/tiles$",
"^/ogcapitiles/tilematrixsets$",
"^/ogcapitiles/tilematrixsets/(.*)$"
}

◆ requesttype_name

const char* const RequestType::requesttype_name[]
Valeur initiale :
= {
"UNKNOWN",
"MISSING",
"GetServices",
"GetCapabilities",
"GetLayer",
"GetLayerMetadata",
"GetLayerGdal",
"GetMap",
"GetTile",
"GetMapTile",
"GetFeatureInfo",
"GetVersion",
"AddLayer",
"UpdateLayer",
"DeleteLayer",
"BuildCapabilities",
"TurnOn",
"TurnOff",
"GetStatus",
"GetInfos"
"GetThreads",
"GetDepends"
}

◆ servicetype_name

const char* const ServiceType::servicetype_name[]
Valeur initiale :
= {
"MISSING",
"UNKNOWN",
"WMTS",
"WMS",
"TMS",
"OGCTILES",
"GLOBAL",
"ADMIN",
"HEALTHCHECK"
}