11var express = require ( 'express' )
22var methodOverride = require ( 'method-override' )
33var bodyParser = require ( 'body-parser' )
4+ var FileCookieStore = require ( 'tough-cookie-filestore' ) ;
5+ var busboyBodyParser = require ( 'busboy-body-parser' ) ;
46var _ = require ( 'lodash' )
57var _db = require ( 'underscore-db' )
68var low = require ( 'lowdb' )
79var plural = require ( './plural' )
810var nested = require ( './nested' )
911var singular = require ( './singular' )
1012var mixins = require ( '../mixins' )
13+ var request = require ( 'request' )
14+
15+
16+ var j = request . jar ( new FileCookieStore ( 'cookies.json' ) ) ;
17+ request = request . defaults ( { jar : j } )
1118
1219module . exports = function ( source ) {
1320
@@ -16,7 +23,8 @@ module.exports = function (source) {
1623
1724 // Add middlewares
1825 router . use ( bodyParser . json ( { limit : '10mb' } ) )
19- router . use ( bodyParser . urlencoded ( { extended : false } ) )
26+ router . use ( bodyParser . urlencoded ( { extended : true } ) )
27+ router . use ( busboyBodyParser ( ) )
2028 router . use ( methodOverride ( ) )
2129
2230 // Create database
@@ -78,9 +86,33 @@ module.exports = function (source) {
7886 if ( ! res . locals . data ) {
7987 res . status ( 404 )
8088 res . locals . data = { }
89+ var method = req . method ;
90+ var path = req . path
91+ var original_url = req . originalUrl
92+ if ( ! path . endsWith ( '/' ) ) {
93+ original_url = original_url . replace ( path , path + '/' )
94+ }
95+ var url = "http://www.shanbay.com" + original_url ;
96+ console . log ( url ) ;
97+ request ( {
98+ method : method ,
99+ url : url ,
100+ form : req . body
101+ } , function ( error , response , body ) {
102+ if ( ! error ) {
103+ res . status ( response . statusCode ) ;
104+ res . locals . data = JSON . parse ( body ) ;
105+ }
106+ ready ( )
107+ } ) ;
108+ } else {
109+ ready ( )
110+ }
111+
112+ function ready ( ) {
113+ router . render ( req , res )
81114 }
82115
83- router . render ( req , res )
84116 } )
85117
86118 return router
0 commit comments