File tree Expand file tree Collapse file tree 3 files changed +29
-0
lines changed Expand file tree Collapse file tree 3 files changed +29
-0
lines changed Original file line number Diff line number Diff line change 1+ HEAD
2+
3+ * Resolve relative paths at middleware setup
4+
151.0.3 / 2014-03-20
26==================
37
Original file line number Diff line number Diff line change 1010 * Module dependencies.
1111 */
1212
13+ var resolve = require ( 'path' ) . resolve ;
1314var send = require ( 'send' ) ;
1415var url = require ( 'url' ) ;
1516
@@ -48,6 +49,9 @@ exports = module.exports = function(root, options){
4849 // root required
4950 if ( ! root ) throw new TypeError ( 'root path required' ) ;
5051
52+ // resolve root to absolute
53+ root = resolve ( root ) ;
54+
5155 // default redirect
5256 var redirect = false !== options . redirect ;
5357
Original file line number Diff line number Diff line change @@ -3,10 +3,14 @@ process.env.NODE_ENV = 'test';
33
44var connect = require ( 'connect' ) ;
55var http = require ( 'http' ) ;
6+ var path = require ( 'path' ) ;
67var request = require ( 'supertest' ) ;
78var serveStatic = require ( '..' ) ;
89
910var fixtures = __dirname + '/fixtures' ;
11+ var relative = path . relative ( process . cwd ( ) , fixtures ) ;
12+
13+ var skipRelative = ~ relative . indexOf ( '..' ) || path . resolve ( relative ) === relative ;
1014
1115describe ( 'serveStatic()' , function ( ) {
1216 describe ( 'basic operations' , function ( ) {
@@ -120,6 +124,23 @@ describe('serveStatic()', function(){
120124 } ) ;
121125 } ) ;
122126
127+ ( skipRelative ? describe . skip : describe ) ( 'current dir' , function ( ) {
128+ var server ;
129+ before ( function ( ) {
130+ server = createServer ( '.' ) ;
131+ } ) ;
132+ after ( function ( done ) {
133+ server . close ( done ) ;
134+ } ) ;
135+
136+ it ( 'should be served with "."' , function ( done ) {
137+ var dest = relative . split ( path . sep ) . join ( '/' ) ;
138+ request ( server )
139+ . get ( '/' + dest + '/todo.txt' )
140+ . expect ( 200 , '- groceries' , done ) ;
141+ } )
142+ } )
143+
123144 describe ( 'hidden files' , function ( ) {
124145 var server ;
125146 before ( function ( ) {
You can’t perform that action at this time.
0 commit comments