Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
398 changes: 189 additions & 209 deletions CHANGELOG.md

Large diffs are not rendered by default.

16 changes: 7 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,32 +4,30 @@ Merci d'envisager de contribuer à ce projet !

## Pull request

Le titre de la PR est utilisé pour constituer automatiquement les notes de release. Vous pouvez préciser en commentaire de votre PR des détails qui seront ajoutés dans le fichier `CHANGELOG.md` par les mainteneurs du projet.

Le formalisme du changelog est le suivant, en markdown :
Complétez le fichier `CHANGELOG.md`, dans la partie `[Unreleased]`, en précisant les modifications fonctionnelles apportées. Celles ci seront utilisées pour rédiger le message de release sur GitHub. Le format est basé sur [Keep a Changelog](https://keepachangelog.com/). Les sections sont les suivantes :

```md
### [Added]
### Added

Liste de nouvelles fonctionnalités.

### [Changed]
### Changed

Liste de fonctionnalités existantes modifiées.

### [Deprecated]
### Deprecated

Liste de fonctionnalités dépréciées.

### [Removed]
### Removed

Liste de foncitonnalités retirées.

### [Fixed]
### Fixed

Liste de corrections fonctionnelles.

### [Security]
### Security

Liste de corrections de sécurité.
```
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,8 @@ Leur définition est contrôlée à l'usage.
- `ROK4_KEYSTONE_DOMAINID`
- `ROK4_KEYSTONE_PROJECTID`
- `ROK4_SWIFT_TOKEN_FILE` afin de sauvegarder le token d'accès, et ne pas le demander si ce fichier en contient un
* Pour configurer l'usage de libcurl (intéraction SWIFT et S3)
* Pour configurer l'usage de libcurl (intéraction SWIFT et S3 et GetFeatureInfo en mode proxy)
- `ROK4_NETWORK_TIMEOUT` : temps en secondes d'inactivité d'une requête avant de la stopper. Aucun temps défini côté client si aucune valeur fournie
- `ROK4_SSL_NO_VERIFY`
- `HTTP_PROXY`
- `HTTPS_PROXY`
Expand Down
9 changes: 6 additions & 3 deletions src/Request.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@
#include <cstdlib>
#include <vector>

#include <rok4/utils/Cache.h>
#include <rok4/utils/CurlPool.h>
#include <rok4/utils/LibcurlStruct.h>

#include "Utils.h"
Expand Down Expand Up @@ -159,13 +159,16 @@ RawDataStream* Request::send() {
if (get_ssl_no_verify()) {
curl_easy_setopt(curl, CURLOPT_SSL_VERIFYPEER, 0L);
}
int timeout = get_timeout();
if (timeout != 0) {
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, timeout);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, timeout);
}
curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1L);
curl_easy_setopt(curl, CURLOPT_NOPROGRESS, 1L);
// curl_easy_setopt(curl, CURLOPT_VERBOSE, 1L);
curl_easy_setopt(curl, CURLOPT_HEADER, 0L);
curl_easy_setopt(curl, CURLOPT_NOSIGNAL, 1L);
curl_easy_setopt(curl, CURLOPT_CONNECTTIMEOUT, 30);
curl_easy_setopt(curl, CURLOPT_TIMEOUT, 30);
curl_easy_setopt(curl, CURLOPT_ACCEPT_ENCODING, "identity");
curl_easy_setopt(curl, CURLOPT_USERAGENT, "ROK4 server");

Expand Down
2 changes: 2 additions & 0 deletions src/Rok4Server.h
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,8 @@ class Server;
#include "configurations/Services.h"
#include "configurations/Layer.h"

#include <rok4/utils/IndexCache.h>

#include "Request.h"

#include "config.h"
Expand Down
1 change: 0 additions & 1 deletion src/configurations/Layer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@
#include <iostream>

#include <rok4/utils/Pyramid.h>
#include <rok4/utils/Cache.h>
#include <rok4/utils/Utils.h>
#include <rok4/style/Style.h>

Expand Down
2 changes: 0 additions & 2 deletions src/configurations/Services.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -37,8 +37,6 @@

#include <fstream>

#include <rok4/utils/Cache.h>

#include "configurations/Services.h"

bool ServicesConfiguration::parse(json11::Json& doc) {
Expand Down
3 changes: 2 additions & 1 deletion src/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -76,7 +76,8 @@
#include <time.h>
#include <openssl/evp.h>
#include <openssl/err.h>
#include <rok4/utils/Cache.h>
#include <rok4/utils/CurlPool.h>
#include <rok4/utils/IndexCache.h>

#include <boost/log/core.hpp>
#include <boost/log/trivial.hpp>
Expand Down
3 changes: 1 addition & 2 deletions src/services/wms/Service.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@
#include <iostream>

#include <rok4/utils/CRS.h>
#include <rok4/utils/Cache.h>

#include "services/wms/Exception.h"
#include "services/wms/Service.h"
Expand Down Expand Up @@ -368,7 +367,7 @@ DataStream* WmsService::process_request(Request* req, Rok4Server* serv) {
// On ne gère que la version 1.0.0
std::string param_version = req->get_query_param("version");
if (param_version != "1.3.0" && param_version != "") {
throw WmsException::get_error_message("VERSION query parameter have to be 1.3.0 or empty", "InvalidParameterValue", 400);
throw WmsException::get_error_message("VERSION query parameter have to be 1.3.0 or empty", "VersionNegotiationFailed", 400);
}

// On récupère le type de requête précisé en paramètre de requête
Expand Down
10 changes: 4 additions & 6 deletions src/services/wms/getmap.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -46,8 +46,7 @@
#include <iostream>
#include <boost/algorithm/string.hpp>

#include <rok4/utils/Cache.h>
#include <rok4/image/PaletteImage.h>
#include <rok4/image/StyledImage.h>
#include <rok4/image/MergeImage.h>
#include <rok4/datastream/AscEncoder.h>
#include <rok4/datastream/BilEncoder.h>
Expand Down Expand Up @@ -284,12 +283,12 @@ DataStream* WmsService::get_map ( Request* req, Rok4Server* serv ) {
throw WmsException::get_error_message("BBOX too big", "InvalidParameterValue", 400);
}

image = new PaletteImage(image, style->get_palette());

StyledImage* s_image = StyledImage::create(image,style);
image = s_image;
images.push_back(image);

// Le nombre final de canaux est celui maxiumum parmis les couches, c'est à dire celui de la donnée en prenant en compte le style
bands = std::max(bands, style->get_channels(layers.at(i)->get_pyramid()->get_channels()));
bands = std::max(bands, image->get_channels());
}

// On construit la réponse finale, en superposant les couches
Expand Down Expand Up @@ -372,6 +371,5 @@ DataStream* WmsService::get_map ( Request* req, Rok4Server* serv ) {
delete final_image;
throw WmsException::get_error_message("Used data format (" + std::to_string(bands) + " band(s) " + SampleFormat::to_string(sample_format) + ") and expected output format (" + format + ") are not consistent", "InvalidParameterValue", 400);
}

return NULL;
}
2 changes: 1 addition & 1 deletion src/services/wmts/Service.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -165,7 +165,7 @@ DataStream* WmtsService::process_request(Request* req, Rok4Server* serv) {
// On ne gère que la version 1.0.0
std::string param_version = req->get_query_param("version");
if (param_version != "1.0.0" && param_version != "") {
throw WmtsException::get_error_message("VERSION query parameter have to be 1.0.0 or empty", "InvalidParameterValue", 400);
throw WmtsException::get_error_message("VERSION query parameter have to be 1.0.0 or empty", "VersionNegotiationFailed", 400);
}

// On récupère le type de requête précisé en paramètre de requête
Expand Down
Loading