Commit 63abb057e3fb60c05884232c7d3529e9ca210b85
1 parent
4e27a6df
Exists in
master
and in
1 other branch
Added ios service_type (Minor fix)
Showing
1 changed file
with
37 additions
and
10 deletions
Show diff stats
server.js
| @@ -25,15 +25,42 @@ app.post('/api', function(req, res){ | @@ -25,15 +25,42 @@ app.post('/api', function(req, res){ | ||
| 25 | /* Verifica qual é o Tipo de Serviço fornecido */ | 25 | /* Verifica qual é o Tipo de Serviço fornecido */ |
| 26 | switch(req.query.servico) { | 26 | switch(req.query.servico) { |
| 27 | /* Case para o Tipo de Serviço: Texto */ | 27 | /* Case para o Tipo de Serviço: Texto */ |
| 28 | - case ('texto' || 'ios'): | ||
| 29 | - /* Verifica se o serviço é [texto] ou [ios] e muda a extensão do vídeo de retorno */ | ||
| 30 | - if (req.query.servico === 'texto') { | ||
| 31 | - var extensao_video = '.webm'; | ||
| 32 | - var core_type = ' WEB'; | ||
| 33 | - } else if (req.query.servico === 'ios') { | ||
| 34 | - var extensao_video = '.avi'; | ||
| 35 | - var core_type = ' IOS'; | 28 | + case 'texto': |
| 29 | + /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */ | ||
| 30 | + if ((req.query.transparencia !== '') && (req.query.texto !== '')) { | ||
| 31 | + /* Verifica se o paramêtro [transparencia] possui os únicos valores possíveis [opaco, transparente] */ | ||
| 32 | + if (parameters.checkTransparency(req.query.transparencia)) { | ||
| 33 | + /* Cria a linha de comando */ | ||
| 34 | + var command_line = 'echo ' + req.query.texto + ' >> ' + __dirname + '/text_files/' + ID_FROM_BD + ' && cd ../vlibras-core' + | ||
| 35 | + ' && ./vlibras ' + parameters.getServiceType(req.query.servico) + ' ../vlibras-api/text_files/' + | ||
| 36 | + ID_FROM_BD + ' ' + parameters.getTransparency(req.query.transparencia) + ' ' + ID_FROM_BD + ' WEB'; | ||
| 37 | + | ||
| 38 | + /* Executa a linha de comando */ | ||
| 39 | + child = exec(command_line, function(err, stdout, stderr) { | ||
| 40 | + // [stdout] = vlibras-core output | ||
| 41 | + // console.log(stdout); | ||
| 42 | + }); | ||
| 43 | + | ||
| 44 | + /* Listener que dispara quando a requisição ao core finaliza */ | ||
| 45 | + child.on('close', function(code, signal){ | ||
| 46 | + res.send(200, { 'response' : 'http://' + SERVER_IP + ':' + port + '/' + ID_FROM_BD + '.webm' }); | ||
| 47 | + ID_FROM_BD++; | ||
| 48 | + }); | ||
| 49 | + | ||
| 50 | + /* Listener que dispara quando a requisição ao core da erro */ | ||
| 51 | + child.on('error', function(code, signal){ | ||
| 52 | + res.send(500, parameters.errorMessage('Erro na chamada ao core')); | ||
| 53 | + }); | ||
| 54 | + } else { | ||
| 55 | + res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos')); | ||
| 56 | + } | ||
| 57 | + } else { | ||
| 58 | + res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio')); | ||
| 36 | } | 59 | } |
| 60 | + break; | ||
| 61 | + | ||
| 62 | + /* Case para o Tipo de Serviço: iOS */ | ||
| 63 | + case 'ios': | ||
| 37 | /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */ | 64 | /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */ |
| 38 | if ((req.query.transparencia !== '') && (req.query.texto !== '')) { | 65 | if ((req.query.transparencia !== '') && (req.query.texto !== '')) { |
| 39 | /* Verifica se o paramêtro [transparencia] possui os únicos valores possíveis [opaco, transparente] */ | 66 | /* Verifica se o paramêtro [transparencia] possui os únicos valores possíveis [opaco, transparente] */ |
| @@ -41,7 +68,7 @@ app.post('/api', function(req, res){ | @@ -41,7 +68,7 @@ app.post('/api', function(req, res){ | ||
| 41 | /* Cria a linha de comando */ | 68 | /* Cria a linha de comando */ |
| 42 | var command_line = 'echo ' + req.query.texto + ' >> ' + __dirname + '/text_files/' + ID_FROM_BD + ' && cd ../vlibras-core' + | 69 | var command_line = 'echo ' + req.query.texto + ' >> ' + __dirname + '/text_files/' + ID_FROM_BD + ' && cd ../vlibras-core' + |
| 43 | ' && ./vlibras ' + parameters.getServiceType(req.query.servico) + ' ../vlibras-api/text_files/' + | 70 | ' && ./vlibras ' + parameters.getServiceType(req.query.servico) + ' ../vlibras-api/text_files/' + |
| 44 | - ID_FROM_BD + ' ' + parameters.getTransparency(req.query.transparencia) + ' ' + ID_FROM_BD + core_type; | 71 | + ID_FROM_BD + ' ' + parameters.getTransparency(req.query.transparencia) + ' ' + ID_FROM_BD + ' IOS'; |
| 45 | 72 | ||
| 46 | /* Executa a linha de comando */ | 73 | /* Executa a linha de comando */ |
| 47 | child = exec(command_line, function(err, stdout, stderr) { | 74 | child = exec(command_line, function(err, stdout, stderr) { |
| @@ -51,7 +78,7 @@ app.post('/api', function(req, res){ | @@ -51,7 +78,7 @@ app.post('/api', function(req, res){ | ||
| 51 | 78 | ||
| 52 | /* Listener que dispara quando a requisição ao core finaliza */ | 79 | /* Listener que dispara quando a requisição ao core finaliza */ |
| 53 | child.on('close', function(code, signal){ | 80 | child.on('close', function(code, signal){ |
| 54 | - res.send(200, { 'response' : 'http://' + SERVER_IP + ':' + port + '/' + ID_FROM_BD + extensao_video }); | 81 | + res.send(200, { 'response' : 'http://' + SERVER_IP + ':' + port + '/' + ID_FROM_BD + '.avi' }); |
| 55 | ID_FROM_BD++; | 82 | ID_FROM_BD++; |
| 56 | }); | 83 | }); |
| 57 | 84 |