@@ -136,7 +136,7 @@ var rules = {
136
136
} ;
137
137
138
138
var getInfo = function ( req , option , headers ) {
139
- var url = req . _parsedUrl . pathname . replace ( / ^ \/ / , '' ) ;
139
+ var url = req . _parsedUrl [ / g e t / i . test ( req . method ) ? ' pathname' : 'href' ] . replace ( / ^ \/ / , '' ) ;
140
140
return {
141
141
url : url ,
142
142
data : option . mockData [ url ] ,
@@ -176,8 +176,9 @@ var middlewares = jsonServer.defaults({
176
176
static : path . resolve ( __dirname , './public' )
177
177
} ) ;
178
178
server$1 . use ( middlewares ) ;
179
- var createServer = function ( option ) {
179
+ var createServer = function ( option , callback ) {
180
180
var config = option . https ;
181
+ config = / ^ ( b o o l e a n | n u m b e r ) $ / . test ( typeof config ) ? config && { } : config ;
181
182
if ( config instanceof Object ) {
182
183
if ( typeof config . key !== 'string' || typeof config . cert !== 'string' || config . key . length + config . cert . length === 0 ) {
183
184
config . key = fs . readFileSync ( path . join ( __dirname , 'ssl/key.pem' ) ) ;
@@ -188,13 +189,15 @@ var createServer = function (option) {
188
189
console . log ( ) ;
189
190
console . log ( "\u5DF2\u542F\u52A8json-server\u670D\u52A1\u5668 https://localhost:" + option . port ) ;
190
191
console . log ( ) ;
192
+ typeof callback == 'function' && callback ( ) ;
191
193
} ) ;
192
194
}
193
195
else {
194
196
server$1 . listen ( option . port , function ( ) {
195
197
console . log ( ) ;
196
198
console . log ( "\u5DF2\u542F\u52A8json-server\u670D\u52A1\u5668 http://localhost:" + option . port ) ;
197
199
console . log ( ) ;
200
+ typeof callback == 'function' && callback ( ) ;
198
201
} ) ;
199
202
}
200
203
} ;
@@ -207,7 +210,7 @@ var createServer = function (option) {
207
210
* @param {boolean= } option.crossDomain - 是否跨域 (便于在不设置请求头时, 快速配置跨域)
208
211
* @param {number= } port - 服务器端口
209
212
*/
210
- var Server$1 = function ( option ) {
213
+ var Server$1 = function ( option , callback ) {
211
214
option = Object . assign ( {
212
215
port : 3030 ,
213
216
crossDomain : true ,
@@ -274,6 +277,17 @@ var Server$1 = function (option) {
274
277
if ( ! Array . isArray ( relay ) ) {
275
278
relay = [ relay ] ;
276
279
}
280
+ if ( relay . length ) {
281
+ if ( ! / ( h t t p ( s ) | \/ \/ ) / . test ( relay [ 0 ] ) ) {
282
+ var protocol = req . headers . referer . split ( ':' ) [ 0 ] + ':' ;
283
+ if ( typeof relay [ 0 ] == 'string' ) {
284
+ relay [ 0 ] = protocol + '//' + ( req . headers . host + relay [ 0 ] ) . replace ( / \/ + / g, '/' ) ;
285
+ }
286
+ else if ( relay [ 0 ] instanceof Object ) {
287
+ relay [ 0 ] . url = protocol + '//' + ( req . headers . host + relay [ 0 ] . url ) . replace ( / \/ + / g, '/' ) ;
288
+ }
289
+ }
290
+ }
277
291
request . apply ( request , relay . concat ( function ( error , response , body ) {
278
292
if ( ! error ) {
279
293
try {
@@ -300,6 +314,7 @@ var Server$1 = function (option) {
300
314
code : 400 ,
301
315
message : "请求失败"
302
316
} ) ;
317
+ console . log ( error ) ;
303
318
}
304
319
} ) ) ;
305
320
return ;
@@ -364,7 +379,7 @@ var Server$1 = function (option) {
364
379
res . status ( 200 ) . jsonp ( body ) ;
365
380
} ;
366
381
server$1 . use ( router ) ;
367
- createServer ( option ) ;
382
+ createServer ( option , callback ) ;
368
383
} ;
369
384
370
385
/**
0 commit comments