0
Le serveur hapi.js que je suis en train d'exécuter est distribué dans deux ports. sur le port 4000comment consommer la réponse de repos hapi.js dans un itinéraire
je cours le serveur suivant
var handlebars = require("handlebars");
var Vision =require('vision');
var Inert = require('inert');
var Wreck = require('wreck');
var mongo = require('mongoskin');
var fs = require("fs");
var db = mongo.db("mongodb://localhost:27017/connect_db", {native_parser:true});
var ObjectID = mongo.ObjectID;
// Create a server with a host and port
exports.register = function (server, options , next) {
//register view engine
server.register(Vision);
server.register(Inert);
server.views({
engines: {
'html': handlebars
},
relativeTo :__dirname,
path: 'views',
isCached: false
});
server.route({
method: 'GET',
path: '/',
handler: function (request, reply) {
db.collection("hello_collection").find().toArray(function(err, items) {
var body = {title: items};
reply.view('index.html', body);
db.close();
});
}
});
server.route({
method: 'GET',
path: '/edit',
handler: function (request, reply) {
var params = request.query.id;
db.collection("hello_collection").find({"_id":ObjectID(params)}).toArray(function(err, items) {
reply.view('edit.html',items[0]);
db.close();
});;
\t
}
});
server.route({
method: 'GET',
path: '/delete',
handler: function (request, reply) {
var params = request.query.id;
\t db.collection("hello_collection").remove({ "_id": ObjectID(params)});
db.close();
reply().redirect("/");
}
});
server.route({
method: 'POST',
path: '/new_data',
handler: function (request, reply) {
var data = request.payload;
db.collection("hello_collection").insert({ name: data.name, description: data.description, content: data.content });
db.close();
reply().redirect("/");
}
});
server.route({
method: 'POST',
path: '/edit_data',
handler: function (request, reply) {
var data = request.payload;
db.collection('hello_collection').update({ "_id" : ObjectID(data.id) },{$set: { name : data.name, description : data.description , content : data.content } }
);
db.close();
reply().redirect("/");
}
});
server.route({
method: "GET",
path: "/bower_components/{path1}/{path2}",
handler: function (request, reply) {
var Path = "./web/bower_components/" + request.params.path1 +"/" + request.params.path2;
console.log(Path);
reply.file(Path);
}
});
return next();
};
exports.register.attributes = { name: 'web' };
sur le port 5000 je cours la réponse api suivante
var handlebars = require("handlebars");
var mongo = require('mongoskin');
var db = mongo.db("mongodb://localhost:27017/connect_db", {native_parser:true});
var ObjectID = mongo.ObjectID;
exports.register = function (server , options , next){
\t server.route({
\t \t method: 'GET',
\t \t path: '/retrieve',
\t \t handler : function(request, reply) {
\t \t if(!request.query.id){ \t \t
\t \t \t db.collection("hello_collection").find({}).toArray(function(err, items){
\t \t \t \t
\t \t \t \t reply(items);
\t \t \t \t db.close();
\t \t \t });
\t \t \t
\t \t }
\t \t else{
\t \t \t var params = request.query.id;
\t \t \t db.collection("hello_collection").find({"_id":ObjectID(params)}).toArray(function(err, items) {
\t \t reply(items[0]);
db.close();
});
\t
\t \t } \t
\t \t }
\t
\t });
return next();
};
exports.register.attributes = { name : 'api'};
ma question est, comment puis-je lire les données de l'url http://localhost:5000/retrieve
à l'adresse http://localhost:4000
. J'ai essayé d'utiliser wreck
mais il ne fonctionne pas
Pouvez-vous mettre à jour votre question avec le code qui utilise épave pour faire la demande? – Cuthbert