2013-04-10 2 views
1

을 restify 내 응용 프로그램의 루트에 내 server.js 파일로 다음 코드 설정을 가지고는 :NodeJS 노드 정전기를 사용하고 내가 앱에 대해 간단한 테스트 플랫폼을 만드는거야 함께

var restify = require('restify'), 
    nstatic = require('node-static'), 
    fs = require('fs'), 
    data = __dirname + '/data.json', 
    server = restify.createServer(); 


// Serve static files 
var file = new nstatic.Server(''); 
server.get(/^\/.*/, function(req, res, next) { 
    file.serve(req, res, next); 
}); 


// Process GET 
server.get('/api/:id', function(req, res) { 
    // NEVER FIRES 
}); 

그것은 정적 파일을 제공 완벽하게, 그러나, 내가 /api에 전화를 걸려고하면 그냥 멈추고 시간이 초과됩니다. 내가 바보 같은 것을 놓치고 있다고 상상해보십시오. 어떤 도움이라도 대단히 감사하겠습니다.

+0

당신은 API를 공격 및/또는 그 어느 당한다 있는지 확인하기 위해 귀하의 API 메소드에 중단 점을 넣어 시도 할 때 세드릭 볼 수있는 헤더를 확인할 수 있습니다. –

+0

'/ api' get 호출을'console.log '했는데 도달하지 못했습니다. 그 너머 그냥 시간이 초과됩니다. – Fluidbyte

+2

파일을 서비스 할 수 없을 때 nast'serve'는'next'를 사용합니까? 그렇지 않으면 두 번째 이동을 첫 번째 이동 전에 수행해야합니다. – lib3d

답변

2

두 번째 전에 get을 이동하면 API 수신 전화가 걸릴 수 있습니다. 그 이유는 API 호출 경로가 이미 첫 번째 패턴과 일치하기 때문입니다.

3

node-static은 다른 처리기에 절대로 응답하지 않는다는 오류가있는 next 호출입니다.

node 이상의 다른 핸들러를 정적으로 이동하거나 콜백을 가로 채어 오류를 무시할 수 있습니다.

은 여기 작업 버전을했다 : http://runnable.com/UWXHRONG7r1zAADe

관련 문제