Nikerabbit has uploaded a new change for review.
https://gerrit.wikimedia.org/r/170044
Change subject: Improve mt error handling and reporting
......................................................................
Improve mt error handling and reporting
Change-Id: I5c3450a06ac24216611336429c154804a1110009
---
M ContentTranslationService.js
1 file changed, 15 insertions(+), 7 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/cxserver
refs/changes/44/170044/1
diff --git a/ContentTranslationService.js b/ContentTranslationService.js
index 2719eb1..1a9268c 100644
--- a/ContentTranslationService.js
+++ b/ContentTranslationService.js
@@ -91,7 +91,11 @@
);
} );
-app.post( '/mt/:from/:to/:provider?', function ( req, res ) {
+app.get( '/mt/:from/:to/:provider?', function ( req, res ) {
+ res.send( 405, { error: 'Request must be posted' } );
+} );
+
+app.post( '/mt/:from/:to/:provider', function ( req, res ) {
var mtClients, mtClient,
sourceHtmlChunks, sourceHtml, reqLength,
registry = require( __dirname + '/registry' ),
@@ -100,13 +104,19 @@
provider = registry.getValidProvider( from, to, 'mt',
req.params.provider );
if ( !provider ) {
- res.send( 404 );
+ res.send( 404, { error: 'Provider not supported' } );
logger.info( 'MT provider invalid or missing' );
return;
}
mtClients = require( __dirname + '/mt/' );
+ if ( mtClients[provider] === undefined ) {
+ res.send( 500, { error: 'Provider not found' } );
+ logger.error( 'Configured provider ' + provider + ' was not
found' );
+ return;
+ }
+
mtClient = mtClients[ provider ];
sourceHtmlChunks = [ '<div>' ];
@@ -116,7 +126,7 @@
reqLength += data.length;
if ( reqLength > 50000 ) {
// Too long
- res.send( 500 );
+ res.send( 413, { error: 'Content too long' } );
logger.error( 'MT content too long' );
return;
}
@@ -126,16 +136,14 @@
sourceHtmlChunks.push( '</div>' );
sourceHtml = sourceHtmlChunks.join( '' );
- logger.profile( 'MT');
+ logger.profile( 'MT' );
mtClient.translate( from, to, sourceHtml ).then(
function ( data ) {
res.send( data );
logger.profile( 'MT', { from: from, to: to } );
},
function ( error ) {
- res.send( 500, {
- error: error
- } );
+ res.send( 500, { error: error } );
logger.log( 'error', 'MT processing error:
(%s)', error.toString() );
}
);
--
To view, visit https://gerrit.wikimedia.org/r/170044
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I5c3450a06ac24216611336429c154804a1110009
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/cxserver
Gerrit-Branch: master
Gerrit-Owner: Nikerabbit <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits