Commit 32390a326dbf2abc783b4604f6d79f9ace212b24

Authored by dhuy
1 parent 022ebf65
Exists in master and in 1 other branch devel

Refactoring the source code of endpoints files

endpoints/ios.js
@@ -7,35 +7,37 @@ var fs = require('fs'); @@ -7,35 +7,37 @@ var fs = require('fs');
7 function init(req, res) { 7 function init(req, res) {
8 /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */ 8 /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */
9 if ((req.body.transparencia !== '') && (req.body.texto !== '')) { 9 if ((req.body.transparencia !== '') && (req.body.texto !== '')) {
10 - /* Verifica se o paramêtro [transparencia] possui os únicos valores possíveis [opaco, transparente] */  
11 - if (parameters.checkTransparency(req.body.transparencia)) {  
12 - /* Cria a linha de comando */  
13 - var command_line = 'echo ' + req.body.texto + ' >> ' + __dirname + '/text_files/' + properties.ID_FROM_BD + ' && cd ../vlibras-core' +  
14 - ' && ./vlibras ' + parameters.getServiceType(req.body.servico) + ' ../vlibras-api/text_files/' +  
15 - properties.ID_FROM_BD + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD + ' IOS';  
16 -  
17 - /* Executa a linha de comando */  
18 - child = exec(command_line, function(err, stdout, stderr) {  
19 - // [stdout] = vlibras-core output  
20 - // console.log(stdout);  
21 - });  
22 -  
23 - /* Listener que dispara quando a requisição ao core finaliza */  
24 - child.on('close', function(code, signal){  
25 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.avi' });  
26 - properties.ID_FROM_BD++;  
27 - });  
28 -  
29 - /* Listener que dispara quando a requisição ao core da erro */  
30 - child.on('error', function(code, signal){  
31 - res.send(500, parameters.errorMessage('Erro na chamada ao core'));  
32 - });  
33 - } else {  
34 - res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));  
35 - }  
36 - } else {  
37 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio')); 10 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio'));
  11 + return;
38 } 12 }
  13 +
  14 + /* Verifica se o paramêtro [transparencia] possui os únicos valores possíveis [opaco, transparente] */
  15 + if (parameters.checkTransparency(req.body.transparencia)) {
  16 + res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));
  17 + return;
  18 + }
  19 +
  20 + /* Cria a linha de comando */
  21 + var command_line = 'echo ' + req.body.texto + ' >> ' + __dirname + '/text_files/' + properties.ID_FROM_BD + ' && cd ../vlibras-core' +
  22 + ' && ./vlibras ' + parameters.getServiceType(req.body.servico) + ' ../vlibras-api/text_files/' +
  23 + properties.ID_FROM_BD + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD + ' IOS';
  24 +
  25 + /* Executa a linha de comando */
  26 + child = exec(command_line, function(err, stdout, stderr) {
  27 + // [stdout] = vlibras-core output
  28 + // console.log(stdout);
  29 + });
  30 +
  31 + /* Listener que dispara quando a requisição ao core finaliza */
  32 + child.on('close', function(code, signal){
  33 + res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.avi' });
  34 + properties.ID_FROM_BD++;
  35 + });
  36 +
  37 + /* Listener que dispara quando a requisição ao core da erro */
  38 + child.on('error', function(code, signal){
  39 + res.send(500, parameters.errorMessage('Erro na chamada ao core'));
  40 + });
39 }; 41 };
40 42
41 module.exports.init = init; 43 module.exports.init = init;
42 \ No newline at end of file 44 \ No newline at end of file
endpoints/legenda.js
@@ -7,50 +7,53 @@ var fs = require('fs'); @@ -7,50 +7,53 @@ var fs = require('fs');
7 function init(req, res) { 7 function init(req, res) {
8 /* Verifica se o paramêtro [transparencia] possue algum valor */ 8 /* Verifica se o paramêtro [transparencia] possue algum valor */
9 if (req.body.transparencia !== '') { 9 if (req.body.transparencia !== '') {
10 - /* Verifica se os paramêtros [transparencia] possuem os seus únicos valores possíveis */  
11 - if ((parameters.checkTransparency(req.body.transparencia) === true)) {  
12 - /* Checa se o arquivo de legenda submetivo possui uma extensão válida */  
13 - if (parameters.checkSubtitle(req.files.legenda.name)) {  
14 - /* Cria uma pasta cujo o nome é o ID */  
15 - child = exec('mkdir ' + __dirname + '/uploads/' + properties.ID_FROM_BD);  
16 -  
17 - /* Listener que dispara quando a pasta é criada */  
18 - child.on('close', function(code, signal){  
19 - /* Move a legenda submetido para a pasta com o seu ID correspondente */  
20 - fs.rename(req.files.legenda.path, __dirname + '/uploads/' + properties.ID_FROM_BD + '/' + req.files.legenda.name, function(error) {  
21 - if (error) { console.log(error); }  
22 - });  
23 -  
24 - /* Cria a linha de comando */  
25 - var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + properties.ID_FROM_BD + '/' +  
26 - req.files.legenda.name + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD;  
27 -  
28 - /* Executa a linha de comando */  
29 - child = exec(command_line, function(err, stdout, stderr) {  
30 - // [stdout] = vlibras-core output  
31 - // console.log(stdout);  
32 - });  
33 -  
34 - /* Listener que dispara quando a requisição ao core finaliza */  
35 - child.on('close', function(code, signal){  
36 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });  
37 - properties.ID_FROM_BD++;  
38 - });  
39 -  
40 - /* Listener que dispara quando a requisição ao core da erro */  
41 - child.on('error', function(code, signal){  
42 - res.send(500, parameters.errorMessage('Erro na chamada ao core'));  
43 - });  
44 - });  
45 - } else {  
46 - res.send(500, parameters.errorMessage('Legenda com Extensão Inválida'));  
47 - }  
48 - } else {  
49 - res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));  
50 - }  
51 - } else {  
52 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio')); 10 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio'));
  11 + return;
53 } 12 }
  13 +
  14 + /* Verifica se os paramêtros [transparencia] possuem os seus únicos valores possíveis */
  15 + if ((parameters.checkTransparency(req.body.transparencia) === true)) {
  16 + res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));
  17 + return;
  18 + }
  19 +
  20 + /* Checa se o arquivo de legenda submetivo possui uma extensão válida */
  21 + if (parameters.checkSubtitle(req.files.legenda.name)) {
  22 + res.send(500, parameters.errorMessage('Legenda com Extensão Inválida'));
  23 + return;
  24 + }
  25 +
  26 + /* Cria uma pasta cujo o nome é o ID */
  27 + child = exec('mkdir ' + __dirname + '/uploads/' + properties.ID_FROM_BD);
  28 +
  29 + /* Listener que dispara quando a pasta é criada */
  30 + child.on('close', function(code, signal){
  31 + /* Move a legenda submetido para a pasta com o seu ID correspondente */
  32 + fs.rename(req.files.legenda.path, __dirname + '/uploads/' + properties.ID_FROM_BD + '/' + req.files.legenda.name, function(error) {
  33 + if (error) { console.log(error); }
  34 + });
  35 +
  36 + /* Cria a linha de comando */
  37 + var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + properties.ID_FROM_BD + '/' +
  38 + req.files.legenda.name + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD;
  39 +
  40 + /* Executa a linha de comando */
  41 + child = exec(command_line, function(err, stdout, stderr) {
  42 + // [stdout] = vlibras-core output
  43 + // console.log(stdout);
  44 + });
  45 +
  46 + /* Listener que dispara quando a requisição ao core finaliza */
  47 + child.on('close', function(code, signal){
  48 + res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });
  49 + properties.ID_FROM_BD++;
  50 + });
  51 +
  52 + /* Listener que dispara quando a requisição ao core da erro */
  53 + child.on('error', function(code, signal){
  54 + res.send(500, parameters.errorMessage('Erro na chamada ao core'));
  55 + });
  56 + });
54 }; 57 };
55 58
56 module.exports.init = init; 59 module.exports.init = init;
57 \ No newline at end of file 60 \ No newline at end of file
endpoints/texto.js
@@ -7,34 +7,36 @@ var fs = require('fs'); @@ -7,34 +7,36 @@ var fs = require('fs');
7 function init(req, res) { 7 function init(req, res) {
8 /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */ 8 /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */
9 if ((req.body.transparencia !== '') && (req.body.texto !== '')) { 9 if ((req.body.transparencia !== '') && (req.body.texto !== '')) {
10 - /* Verifica se o paramêtro [transparencia] possui os únicos valores possíveis [opaco, transparente] */  
11 - if (parameters.checkTransparency(req.body.transparencia)) {  
12 - /* Cria a linha de comando */  
13 - var command_line = 'echo ' + req.body.texto + ' >> ' + __dirname + '/text_files/' + properties.ID_FROM_BD + ' && cd ../vlibras-core' +  
14 - ' && ./vlibras ' + parameters.getServiceType(req.body.servico) + ' ../vlibras-api/text_files/' +  
15 - properties.ID_FROM_BD + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD + ' WEB';  
16 -  
17 - /* Executa a linha de comando */  
18 - child = exec(command_line, function(err, stdout, stderr) {  
19 - // [stdout] = vlibras-core output  
20 - });  
21 -  
22 - /* Listener que dispara quando a requisição ao core finaliza */  
23 - child.on('close', function(code, signal){  
24 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.webm' });  
25 - properties.ID_FROM_BD++;  
26 - });  
27 -  
28 - /* Listener que dispara quando a requisição ao core da erro */  
29 - child.on('error', function(code, signal){  
30 - res.send(500, parameters.errorMessage('Erro na chamada ao core'));  
31 - });  
32 - } else {  
33 - res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));  
34 - }  
35 - } else {  
36 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio')); 10 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio'));
  11 + return;
37 } 12 }
  13 +
  14 + /* Verifica se o paramêtro [transparencia] possui os únicos valores possíveis [opaco, transparente] */
  15 + if (parameters.checkTransparency(req.body.transparencia)) {
  16 + res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));
  17 + return;
  18 + }
  19 +
  20 + /* Cria a linha de comando */
  21 + var command_line = 'echo ' + req.body.texto + ' >> ' + __dirname + '/text_files/' + properties.ID_FROM_BD + ' && cd ../vlibras-core' +
  22 + ' && ./vlibras ' + parameters.getServiceType(req.body.servico) + ' ../vlibras-api/text_files/' +
  23 + properties.ID_FROM_BD + ' ' + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD + ' WEB';
  24 +
  25 + /* Executa a linha de comando */
  26 + child = exec(command_line, function(err, stdout, stderr) {
  27 + // [stdout] = vlibras-core output
  28 + });
  29 +
  30 + /* Listener que dispara quando a requisição ao core finaliza */
  31 + child.on('close', function(code, signal){
  32 + res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.webm' });
  33 + properties.ID_FROM_BD++;
  34 + });
  35 +
  36 + /* Listener que dispara quando a requisição ao core da erro */
  37 + child.on('error', function(code, signal){
  38 + res.send(500, parameters.errorMessage('Erro na chamada ao core'));
  39 + });
38 }; 40 };
39 41
40 module.exports.init = init; 42 module.exports.init = init;
41 \ No newline at end of file 43 \ No newline at end of file
endpoints/video.js
@@ -10,107 +10,110 @@ var fs = require('fs'); @@ -10,107 +10,110 @@ var fs = require('fs');
10 function init(req, res) { 10 function init(req, res) {
11 /* Verifica se os paramêtros [posicao, tamanho, transparencia] possuem algum valor */ 11 /* Verifica se os paramêtros [posicao, tamanho, transparencia] possuem algum valor */
12 if ((req.body.posicao !== '') && (req.body.tamanho !== '') && (req.body.transparencia !== '')) { 12 if ((req.body.posicao !== '') && (req.body.tamanho !== '') && (req.body.transparencia !== '')) {
13 - /* Verifica se os paramêtros [linguagem, posicao, tamanho, transparencia] possuem os seus únicos valores possíveis */  
14 - if ((parameters.checkPosition(req.body.posicao) === true) && (parameters.checkSize(req.body.tamanho) === true) && (parameters.checkTransparency(req.body.transparencia) === true)) {  
15 - /* Checa se o arquivo de vídeo submetivo possui uma extensão válida */  
16 - if (parameters.checkVideo(req.files.video.name)) {  
17 - /* Cria uma pasta cujo o nome é o ID */  
18 - child = exec('mkdir ' + __dirname + '/uploads/' + properties.ID_FROM_BD);  
19 -  
20 - /* Listener que dispara quando a pasta é criada */  
21 - child.on('close', function(code, signal){  
22 - /* Move o vídeo submetido para a pasta com o seu ID correspondente */  
23 - fs.rename(req.files.video.path, __dirname + '/uploads/' + properties.ID_FROM_BD + '/' + req.files.video.name, function(error) {  
24 - if (error) { console.log(error); }  
25 - });  
26 -  
27 - /* Cria a linha de comando */  
28 - var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + properties.ID_FROM_BD + '/' +  
29 - req.files.video.name + ' 1 ' + parameters.getPosition(req.body.posicao) + ' ' + parameters.getSize(req.body.tamanho) + ' ' +  
30 - parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD;  
31 -  
32 - /* Executa a linha de comando */  
33 - child = exec(command_line, function(err, stdout, stderr) {  
34 - // [stdout] = vlibras-core output  
35 - });  
36 -  
37 - if (req.body.callback === undefined) {  
38 - /* Listener que dispara quando a requisição ao core finaliza */  
39 - child.on('close', function(code, signal){  
40 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });  
41 - properties.ID_FROM_BD++;  
42 - });  
43 -  
44 - child.on('error', function(code, signal){  
45 - res.send(500, parameters.errorMessage('Erro na chamada ao core'));  
46 - });  
47 - } else {  
48 -  
49 - child.on('close', function(code, signal){  
50 - var path = url.parse(req.body.callback);  
51 -  
52 - var data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });  
53 -  
54 - var options = {  
55 - host: path.hostname,  
56 - port: path.port,  
57 - path: path.path,  
58 - method: 'POST',  
59 - headers: {  
60 - 'Content-Type': 'application/x-www-form-urlencoded',  
61 - 'Content-Length': Buffer.byteLength(data)  
62 - }  
63 - };  
64 -  
65 - var requesting = http.request(options, function(res) {  
66 - res.setEncoding('utf8');  
67 - // res.on('data', function (chunk) {  
68 - // console.log("req.body: " + chunk);  
69 - // });  
70 - });  
71 -  
72 - requesting.write(data);  
73 - requesting.end();  
74 -  
75 - properties.ID_FROM_BD++;  
76 - });  
77 -  
78 - /* Listener que dispara quando a requisição ao core da erro */  
79 - child.on('error', function(code, signal){  
80 -  
81 - var data = querystring.stringify(parameters.errorMessage('Erro na chamada ao core'));  
82 -  
83 - var options = {  
84 - host: path.hostname,  
85 - port: path.port,  
86 - path: path.path,  
87 - method: 'POST',  
88 - headers: {  
89 - 'Content-Type': 'application/x-www-form-urlencoded',  
90 - 'Content-Length': Buffer.byteLength(data)  
91 - }  
92 - };  
93 -  
94 - var requesting = http.request(options, function(res) {  
95 - res.setEncoding('utf8');  
96 - });  
97 -  
98 - requesting.write(data);  
99 - requesting.end();  
100 - });  
101 -  
102 - res.send(200);  
103 - }  
104 - });  
105 - } else {  
106 - res.send(500, parameters.errorMessage('Vídeo com Extensão Inválida'));  
107 - }  
108 - } else {  
109 - res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));  
110 - }  
111 - } else {  
112 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio')); 13 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio'));
  14 + return;
113 } 15 }
  16 +
  17 + /* Verifica se os paramêtros [linguagem, posicao, tamanho, transparencia] possuem os seus únicos valores possíveis */
  18 + if ((parameters.checkPosition(req.body.posicao) === true) && (parameters.checkSize(req.body.tamanho) === true) && (parameters.checkTransparency(req.body.transparencia) === true)) {
  19 + res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));
  20 + return;
  21 + }
  22 +
  23 + /* Checa se o arquivo de vídeo submetivo possui uma extensão válida */
  24 + if (parameters.checkVideo(req.files.video.name)) {
  25 + res.send(500, parameters.errorMessage('Vídeo com Extensão Inválida'));
  26 + return;
  27 + }
  28 +
  29 + /* Cria uma pasta cujo o nome é o ID */
  30 + child = exec('mkdir ' + __dirname + '/uploads/' + properties.ID_FROM_BD);
  31 +
  32 + /* Listener que dispara quando a pasta é criada */
  33 + child.on('close', function(code, signal){
  34 + /* Move o vídeo submetido para a pasta com o seu ID correspondente */
  35 + fs.rename(req.files.video.path, __dirname + '/uploads/' + properties.ID_FROM_BD + '/' + req.files.video.name, function(error) {
  36 + if (error) { console.log(error); }
  37 + });
  38 +
  39 + /* Cria a linha de comando */
  40 + var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + properties.ID_FROM_BD + '/' +
  41 + req.files.video.name + ' 1 ' + parameters.getPosition(req.body.posicao) + ' ' + parameters.getSize(req.body.tamanho) + ' ' +
  42 + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD;
  43 +
  44 + /* Executa a linha de comando */
  45 + child = exec(command_line, function(err, stdout, stderr) {
  46 + // [stdout] = vlibras-core output
  47 + });
  48 +
  49 + if (req.body.callback === undefined) {
  50 + /* Listener que dispara quando a requisição ao core finaliza */
  51 + child.on('close', function(code, signal){
  52 + res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });
  53 + properties.ID_FROM_BD++;
  54 + });
  55 +
  56 + child.on('error', function(code, signal){
  57 + res.send(500, parameters.errorMessage('Erro na chamada ao core'));
  58 + });
  59 + } else {
  60 +
  61 + child.on('close', function(code, signal){
  62 + var path = url.parse(req.body.callback);
  63 +
  64 + var data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });
  65 +
  66 + var options = {
  67 + host: path.hostname,
  68 + port: path.port,
  69 + path: path.path,
  70 + method: 'POST',
  71 + headers: {
  72 + 'Content-Type': 'application/x-www-form-urlencoded',
  73 + 'Content-Length': Buffer.byteLength(data)
  74 + }
  75 + };
  76 +
  77 + var requesting = http.request(options, function(res) {
  78 + res.setEncoding('utf8');
  79 + // res.on('data', function (chunk) {
  80 + // console.log("req.body: " + chunk);
  81 + // });
  82 + });
  83 +
  84 + requesting.write(data);
  85 + requesting.end();
  86 +
  87 + properties.ID_FROM_BD++;
  88 + });
  89 +
  90 + /* Listener que dispara quando a requisição ao core da erro */
  91 + child.on('error', function(code, signal){
  92 +
  93 + var data = querystring.stringify(parameters.errorMessage('Erro na chamada ao core'));
  94 +
  95 + var options = {
  96 + host: path.hostname,
  97 + port: path.port,
  98 + path: path.path,
  99 + method: 'POST',
  100 + headers: {
  101 + 'Content-Type': 'application/x-www-form-urlencoded',
  102 + 'Content-Length': Buffer.byteLength(data)
  103 + }
  104 + };
  105 +
  106 + var requesting = http.request(options, function(res) {
  107 + res.setEncoding('utf8');
  108 + });
  109 +
  110 + requesting.write(data);
  111 + requesting.end();
  112 + });
  113 +
  114 + res.send(200);
  115 + }
  116 + });
114 }; 117 };
115 118
116 module.exports.init = init; 119 module.exports.init = init;
117 \ No newline at end of file 120 \ No newline at end of file
endpoints/video_legenda.js
@@ -10,119 +10,123 @@ var fs = require('fs'); @@ -10,119 +10,123 @@ var fs = require('fs');
10 function init(req, res) { 10 function init(req, res) {
11 /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */ 11 /* Verifica se os paramêtros [transparencia, texto] possuem algum valor */
12 if ((req.body.linguagem !== '') && (req.body.posicao !== '') && (req.body.tamanho !== '') && (req.body.transparencia !== '')) { 12 if ((req.body.linguagem !== '') && (req.body.posicao !== '') && (req.body.tamanho !== '') && (req.body.transparencia !== '')) {
13 - /* Verifica se os paramêtros [linguagem, posicao, tamanho, transparencia] possuem os seus únicos valores possíveis */  
14 - if ((parameters.checkLanguage(req.body.linguagem) === true) && (parameters.checkPosition(req.body.posicao) === true) && (parameters.checkSize(req.body.tamanho) === true) && (parameters.checkTransparency(req.body.transparencia) === true)) {  
15 - /* Checa se o arquivo de vídeo submetivo possui uma extensão válida */  
16 - if (parameters.checkVideo(req.files.video.name)) {  
17 - /* Checa se o arquivo de legenda submetivo possui uma extensão válida */  
18 - if (parameters.checkSubtitle(req.files.legenda.name)) {  
19 - /* Cria uma pasta cujo o nome é o ID */  
20 - child = exec('mkdir ' + __dirname + '/uploads/' + properties.ID_FROM_BD);  
21 -  
22 - /* Listener que dispara quando a pasta é criada */  
23 - child.on('close', function(code, signal){  
24 -  
25 - /* Move o vídeo submetido para a pasta com o seu ID correspondente */  
26 - fs.rename(req.files.video.path, __dirname + '/uploads/' + properties.ID_FROM_BD + '/' + req.files.video.name, function(error) {  
27 - if (error) { console.log(error); }  
28 - });  
29 -  
30 - /* Move a legenda submetido para a pasta com o seu ID correspondente */  
31 - fs.rename(req.files.legenda.path, __dirname + '/uploads/' + properties.ID_FROM_BD + '/' + req.files.legenda.name, function(error) {  
32 - if (error) { console.log(error); }  
33 - });  
34 -  
35 - /* Cria a linha de comando */  
36 - var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + properties.ID_FROM_BD + '/' +  
37 - req.files.video.name + ' uploads/' + properties.ID_FROM_BD + '/' + req.files.legenda.name + ' ' + parameters.getLanguage(req.body.linguagem) +  
38 - ' ' + parameters.getPosition(req.body.posicao) + ' ' + parameters.getSize(req.body.tamanho) + ' ' +  
39 - parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD;  
40 -  
41 - /* Executa a linha de comando */  
42 - child = exec(command_line, function(err, stdout, stderr) {  
43 - // [stdout] = vlibras-core output  
44 - });  
45 -  
46 - if (req.body.callback === undefined) {  
47 - /* Listener que dispara quando a requisição ao core finaliza */  
48 - child.on('close', function(code, signal){  
49 - res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });  
50 - properties.ID_FROM_BD++;  
51 - });  
52 -  
53 - child.on('error', function(code, signal){  
54 - res.send(500, parameters.errorMessage('Erro na chamada ao core'));  
55 - });  
56 - } else {  
57 -  
58 - child.on('close', function(code, signal){  
59 - var path = url.parse(req.body.callback);  
60 -  
61 - var data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });  
62 -  
63 - var options = {  
64 - host: path.hostname,  
65 - port: path.port,  
66 - path: path.path,  
67 - method: 'POST',  
68 - headers: {  
69 - 'Content-Type': 'application/x-www-form-urlencoded',  
70 - 'Content-Length': Buffer.byteLength(data)  
71 - }  
72 - };  
73 -  
74 - var requesting = http.request(options, function(res) {  
75 - res.setEncoding('utf8');  
76 - // res.on('data', function (chunk) {  
77 - // console.log("req.body: " + chunk);  
78 - // });  
79 - });  
80 -  
81 - requesting.write(data);  
82 - requesting.end();  
83 -  
84 - properties.ID_FROM_BD++;  
85 - });  
86 -  
87 - /* Listener que dispara quando a requisição ao core da erro */  
88 - child.on('error', function(code, signal){  
89 -  
90 - var data = querystring.stringify(parameters.errorMessage('Erro na chamada ao core'));  
91 -  
92 - var options = {  
93 - host: path.hostname,  
94 - port: path.port,  
95 - path: path.path,  
96 - method: 'POST',  
97 - headers: {  
98 - 'Content-Type': 'application/x-www-form-urlencoded',  
99 - 'Content-Length': Buffer.byteLength(data)  
100 - }  
101 - };  
102 -  
103 - var requesting = http.request(options, function(res) {  
104 - res.setEncoding('utf8');  
105 - });  
106 -  
107 - requesting.write(data);  
108 - requesting.end();  
109 - });  
110 -  
111 - res.send(200);  
112 - }  
113 - });  
114 - } else {  
115 - res.send(500, parameters.errorMessage('Legenda com Extensão Inválida'));  
116 - }  
117 - } else {  
118 - res.send(500, parameters.errorMessage('Vídeo com Extensão Inválida'));  
119 - }  
120 - } else {  
121 - res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));  
122 - }  
123 - } else {  
124 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio')); 13 res.send(500, parameters.errorMessage('O valor de algum parâmetro está vazio'));
  14 + return;
  15 + }
  16 +
  17 + /* Verifica se os paramêtros [linguagem, posicao, tamanho, transparencia] possuem os seus únicos valores possíveis */
  18 + if ((parameters.checkLanguage(req.body.linguagem) === true) && (parameters.checkPosition(req.body.posicao) === true) && (parameters.checkSize(req.body.tamanho) === true) && (parameters.checkTransparency(req.body.transparencia) === true)) {
  19 + res.send(500, parameters.errorMessage('Parâmetros insuficientes ou inválidos'));
  20 + return;
  21 + }
  22 +
  23 + /* Checa se o arquivo de vídeo submetivo possui uma extensão válida */
  24 + if (parameters.checkVideo(req.files.video.name)) {
  25 + res.send(500, parameters.errorMessage('Vídeo com Extensão Inválida'));
  26 + return;
125 } 27 }
  28 +
  29 + /* Checa se o arquivo de legenda submetivo possui uma extensão válida */
  30 + if (parameters.checkSubtitle(req.files.legenda.name)) {
  31 + res.send(500, parameters.errorMessage('Legenda com Extensão Inválida'));
  32 + return;
  33 + }
  34 +
  35 + /* Cria uma pasta cujo o nome é o ID */
  36 + child = exec('mkdir ' + __dirname + '/uploads/' + properties.ID_FROM_BD);
  37 +
  38 + /* Listener que dispara quando a pasta é criada */
  39 + child.on('close', function(code, signal){
  40 +
  41 + /* Move o vídeo submetido para a pasta com o seu ID correspondente */
  42 + fs.rename(req.files.video.path, __dirname + '/uploads/' + properties.ID_FROM_BD + '/' + req.files.video.name, function(error) {
  43 + if (error) { console.log(error); }
  44 + });
  45 +
  46 + /* Move a legenda submetido para a pasta com o seu ID correspondente */
  47 + fs.rename(req.files.legenda.path, __dirname + '/uploads/' + properties.ID_FROM_BD + '/' + req.files.legenda.name, function(error) {
  48 + if (error) { console.log(error); }
  49 + });
  50 +
  51 + /* Cria a linha de comando */
  52 + var command_line = 'vlibras_user/vlibras-core/./vlibras ' + parameters.getServiceType(req.body.servico) + ' uploads/' + properties.ID_FROM_BD + '/' +
  53 + req.files.video.name + ' uploads/' + properties.ID_FROM_BD + '/' + req.files.legenda.name + ' ' + parameters.getLanguage(req.body.linguagem) +
  54 + ' ' + parameters.getPosition(req.body.posicao) + ' ' + parameters.getSize(req.body.tamanho) + ' ' +
  55 + parameters.getTransparency(req.body.transparencia) + ' ' + properties.ID_FROM_BD;
  56 +
  57 + /* Executa a linha de comando */
  58 + child = exec(command_line, function(err, stdout, stderr) {
  59 + // [stdout] = vlibras-core output
  60 + });
  61 +
  62 + if (req.body.callback === undefined) {
  63 + /* Listener que dispara quando a requisição ao core finaliza */
  64 + child.on('close', function(code, signal){
  65 + res.send(200, { 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });
  66 + properties.ID_FROM_BD++;
  67 + });
  68 +
  69 + child.on('error', function(code, signal){
  70 + res.send(500, parameters.errorMessage('Erro na chamada ao core'));
  71 + });
  72 + } else {
  73 +
  74 + child.on('close', function(code, signal){
  75 + var path = url.parse(req.body.callback);
  76 +
  77 + var data = querystring.stringify({ 'response' : 'http://' + properties.SERVER_IP + ':' + properties.port + '/' + properties.ID_FROM_BD + '.flv' });
  78 +
  79 + var options = {
  80 + host: path.hostname,
  81 + port: path.port,
  82 + path: path.path,
  83 + method: 'POST',
  84 + headers: {
  85 + 'Content-Type': 'application/x-www-form-urlencoded',
  86 + 'Content-Length': Buffer.byteLength(data)
  87 + }
  88 + };
  89 +
  90 + var requesting = http.request(options, function(res) {
  91 + res.setEncoding('utf8');
  92 + // res.on('data', function (chunk) {
  93 + // console.log("req.body: " + chunk);
  94 + // });
  95 + });
  96 +
  97 + requesting.write(data);
  98 + requesting.end();
  99 +
  100 + properties.ID_FROM_BD++;
  101 + });
  102 +
  103 + /* Listener que dispara quando a requisição ao core da erro */
  104 + child.on('error', function(code, signal){
  105 +
  106 + var data = querystring.stringify(parameters.errorMessage('Erro na chamada ao core'));
  107 +
  108 + var options = {
  109 + host: path.hostname,
  110 + port: path.port,
  111 + path: path.path,
  112 + method: 'POST',
  113 + headers: {
  114 + 'Content-Type': 'application/x-www-form-urlencoded',
  115 + 'Content-Length': Buffer.byteLength(data)
  116 + }
  117 + };
  118 +
  119 + var requesting = http.request(options, function(res) {
  120 + res.setEncoding('utf8');
  121 + });
  122 +
  123 + requesting.write(data);
  124 + requesting.end();
  125 + });
  126 +
  127 + res.send(200);
  128 + }
  129 + });
126 }; 130 };
127 131
128 module.exports.init = init; 132 module.exports.init = init;
129 \ No newline at end of file 133 \ No newline at end of file