2016-07-08 4 views
0

プロンプト・サーバーを開始して、 "/ wps_proxy/wps_proxy?url"という名前の事前要求を処理するようにnode.jsでプロキシー・サーバーを開始したい= "。私はそれが欲しいのでwps-js library of north52(インストールのヒントを確認してください)を使用することができます。私はすでに私のアプリケーションを実行するサーバーを持っています。私が今までしてみてください何をしたかnodejsでプロキシー・サーバーを開始し、 "/ wps_proxy/wps_proxy?url ="

は次のとおりです。

server.jsファイル

var express = require('express'); 
var bodyParser = require('body-parser'); 
var fs = require('fs'); 
var path = require("path"); 

var app = express(); 
app.use(express.static(__dirname + '/' + 'public')); 

var urlencodedParser = bodyParser.urlencoded({ extended: false }); 

//****** this is my try ****************************** 

app.get('/wps_proxy/wps_proxy',function (req,res){ 
    res.sendfile(__dirname + '/' + 'public/wps_proxy/wps-js/target/wps-js-0.1.2-SNAPSHOT/example.html'); 

    if(req.query !== undefined){//because it enters sometimes without url 

    var http = require('http'); 

    //Options to be used by request 
    var options = { 
     host:"geostatistics.demo.52north.org",//fixed given data 
     port:"80", 
     path:"/wps/WebProcessingService" 
    }; 
    var callback = function(response){ 
     var dat = ""; 
     response.on("data",function(data){ 
      dat+=data; 
     }); 
     response.on("end", function(){ 
      res.end(dat) 
     }) 

    }; 
    //Make the request 
    var req = http.request(options,callback); 
    req.end() 
    }  
}) 
var ipaddress = process.env.OPENSHIFT_NODEJS_IP||'127.0.0.1'; 
var port  = process.env.OPENSHIFT_NODEJS_PORT || 8080; 

app.set('port', port); 

app.listen(app.get('port'),ipaddress, function() { 
    console.log('Server started on port ' + app.get('port')) 
}) 

//*************************************** 

が、その作業はありません..私は、データが正常に送り返されていないと思います。..

これは私がしたいことの実際の例です。http://geoprocessing.demo.52north.org/wps-js-0.1.1/

これは私のaのライブサンプルですpplication(エラーのコンソールを確認してください)http://gws-hydris.rhcloud.com/wps_proxy/wps_proxy

答えて

0

私はこの記事How to create a simple http proxy in node.js?から、私の答えを見つけることだった私は解決の方法をした:

app.get('/wps_proxy/wps_proxy',function (req,res){ 

    var queryData = url.parse(req.url, true).query; 
if (queryData.url) { 
    request({ 
     url: queryData.url 
    }).on('error', function(e) { 
     res.end(e); 
    }).pipe(res); 
} 
else { 
    res.end("no url found"); 
}  
}) 
関連する問題