Commit d6448432965247d73326feaea375b8057e2e0bad
1 parent
ddb716b4
Exists in
master
and in
1 other branch
Supporting callback argument
Showing
1 changed file
with
58 additions
and
9 deletions
Show diff stats
server.js
... | ... | @@ -125,16 +125,65 @@ app.post('/api', function(req, res){ |
125 | 125 | // console.log(stdout); |
126 | 126 | }); |
127 | 127 | |
128 | - /* Listener que dispara quando a requisição ao core finaliza */ | |
129 | - child.on('close', function(code, signal){ | |
130 | - res.send(200, { 'response' : 'http://' + SERVER_IP + ':' + port + '/' + ID_FROM_BD + '.flv' }); | |
131 | - ID_FROM_BD++; | |
132 | - }); | |
128 | + if (req.query.callback === undefined) { | |
129 | + /* Listener que dispara quando a requisição ao core finaliza */ | |
130 | + child.on('close', function(code, signal){ | |
131 | + res.send(200, { 'response' : 'http://' + SERVER_IP + ':' + port + '/' + ID_FROM_BD + '.flv' }); | |
132 | + ID_FROM_BD++; | |
133 | + }); | |
133 | 134 | |
134 | - /* Listener que dispara quando a requisição ao core da erro */ | |
135 | - child.on('error', function(code, signal){ | |
136 | - res.send(500, parameters.errorMessage('Erro na chamada ao core')); | |
137 | - }); | |
135 | + /* Listener que dispara quando a requisição ao core da erro */ | |
136 | + child.on('error', function(code, signal){ | |
137 | + res.send(500, parameters.errorMessage('Erro na chamada ao core')); | |
138 | + }); | |
139 | + } else { | |
140 | + | |
141 | + var path = url.parse(req.query.callback); | |
142 | + | |
143 | + var data = querystring.stringify({ 'response' : 'http://' + SERVER_IP + ':' + port + '/' + ID_FROM_BD + '.flv' }); | |
144 | + | |
145 | + var options = { | |
146 | + host: path.hostname, | |
147 | + port: path.port, | |
148 | + path: path.path, | |
149 | + method: 'POST', | |
150 | + headers: { | |
151 | + 'Content-Type': 'application/x-www-form-urlencoded', | |
152 | + 'Content-Length': Buffer.byteLength(data) | |
153 | + } | |
154 | + }; | |
155 | + | |
156 | + var requesting = http.request(options, function(res) { | |
157 | + res.setEncoding('utf8'); | |
158 | + }); | |
159 | + | |
160 | + requesting.write(data); | |
161 | + requesting.end(); | |
162 | + | |
163 | + /* Listener que dispara quando a requisição ao core da erro */ | |
164 | + child.on('error', function(code, signal){ | |
165 | + | |
166 | + var data = querystring.stringify(parameters.errorMessage('Erro na chamada ao core')); | |
167 | + | |
168 | + var options = { | |
169 | + host: path.hostname, | |
170 | + port: path.port, | |
171 | + path: path.path, | |
172 | + method: 'POST', | |
173 | + headers: { | |
174 | + 'Content-Type': 'application/x-www-form-urlencoded', | |
175 | + 'Content-Length': Buffer.byteLength(data) | |
176 | + } | |
177 | + }; | |
178 | + | |
179 | + var requesting = http.request(options, function(res) { | |
180 | + res.setEncoding('utf8'); | |
181 | + }); | |
182 | + | |
183 | + requesting.write(data); | |
184 | + requesting.end(); | |
185 | + }); | |
186 | + } | |
138 | 187 | }); |
139 | 188 | } else { |
140 | 189 | res.send(500, parameters.errorMessage('Vídeo com Extensão Inválida')); | ... | ... |