Use 429 to indicate timeout errors

This commit is contained in:
Daniel García Aubert 2017-07-31 19:08:29 +02:00
parent bb59902535
commit 5974413d5c
3 changed files with 16 additions and 9 deletions

View File

@ -301,5 +301,12 @@ function statusFromErrorMessage(errMsg) {
statusCode = 404;
}
}
else if ( -1 !== errMsg.indexOf('Render timed out') ) {
statusCode = 429; // under discussion
}
else if ( -1 !== errMsg.indexOf('canceling statement due to statement timeout') ) {
statusCode = 429; // under discussion
}
return statusCode;
}

View File

@ -75,7 +75,7 @@ describe('user database timeout limit', function () {
it('layergroup creation works but dataview request fails due to statement timeout', function (done) {
const params = {
response: {
status: 400,
status: 429,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
@ -117,7 +117,7 @@ describe('user database timeout limit', function () {
it('fails due to statement timeout', function (done) {
const expectedResponse = {
status: 400,
status: 429,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
@ -182,7 +182,7 @@ describe('user database timeout limit', function () {
format: 'torque.json',
layers: [ 0 ],
response: {
status: 400,
status: 429,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
@ -231,7 +231,7 @@ describe('user database timeout limit', function () {
it('layergroup creation fails due to statement timeout', function (done) {
const expectedResponse = {
status: 400,
status: 429,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
@ -304,7 +304,7 @@ describe('user database timeout limit', function () {
featureId: 1,
layer: 0,
response: {
status: 400,
status: 429,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}

View File

@ -85,7 +85,7 @@ describe('user render timeout limit', function () {
it('layergroup creation fails due to statement timeout', function (done) {
const expectedResponse = {
status: 400,
status: 429,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
@ -174,7 +174,7 @@ describe('user render timeout limit', function () {
it('layergroup creation works and render tile fails', function (done) {
var params = {
response: {
status: 400,
status: 429,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
@ -211,7 +211,7 @@ describe('user render timeout limit', function () {
const params = {
format: 'mvt',
response: {
status: 400,
status: 429,
headers: {
'Content-Type': 'application/json; charset=utf-8'
}
@ -252,7 +252,7 @@ describe('user render timeout limit', function () {
layers: 'mapnik',
format: 'grid.json',
response: {
status: 400,
status: 429,
headers: {
'Content-Type': 'application/x-protobuf'
}