2012-05-24 3 views
2

에서 PB를 구문 분석하는 방법은 PB 스키마에 의해로드합니다.Node.js를 및 프로토콜 버퍼는 다음과 같이 게시물

app.post('/mypost', function(req, res){ 

     var Feed = schema['MyRequest']; 
     var aFeed = Feed.parse(req.body); 
     var serialized = Feed.serialize(aFeed); 

    }); 

나는 node.js를 처음 사용하고 게시물 데이터를 가져 오는 것이 좋습니다. req.body 게시물 데이터에서 버퍼입니까?

TypeError: Argument should be a buffer 
    at Function.parse (unknown source) 
    at /home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/bidder.js:71:22 
    at callbacks (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:272:11) 
    at param (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:246:11) 
    at pass (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:253:5) 
    at Router._dispatch (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:280:4) 
    at Object.handle (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/lib/router/index.js:45:10) 
    at next (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/node_modules/connect/lib/http.js:204:15) 
    at Object.methodOverride [as handle] (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/node_modules/connect/lib/middleware/methodOverride.js:35:5) 
    at next (/home/ubuntu/workspace/rtbopsConfig/rtbServers/rtbNodejsServer/node_modules/express/node_modules/connect/lib/http.js:204:15) 

답변

1

http에서 nodejs의 간단한 요청 응답 처리에 대한 구체적인 예를 찾고 있습니다. 이렇게하면 파싱 단계에 도달하는 데 도움이됩니다. 예를 http://nodejs.org/api/all.html#all_class_http_serverrequest http://nodejs.org/api/http.html#http_event_data

:

var options = { 
    host: 'www.google.com', 
    port: 80, 
    path: '/upload', 
    method: 'POST' 
}; 

var req = http.request(options, function(res) { 
    console.log('STATUS: ' + res.statusCode); 
    console.log('HEADERS: ' + JSON.stringify(res.headers)); 
    res.setEncoding('utf8'); 
    res.on('data', function (chunk) { 
    console.log('BODY: ' + chunk); 
    }); 
}); 

req.on('error', function(e) { 
    console.log('problem with request: ' + e.message); 
}); 

// write data to request body 
req.write('data\n'); 
req.write('data\n'); 
req.end(); 

예를

이 응답에 요청과 응답의 설명을 참조 https://stackoverflow.com/a/4696338/51700

쿠키와 또 다른 예 https://stackoverflow.com/a/4581610/51700