1+ import express from "express" ;
2+ import path from "path" ;
3+ import sendfile from "other-place"
4+
5+ const app = express ( ) ;
6+ const options = {
7+ root : path . join ( __dirname , 'public' ) ,
8+ dotfiles : 'deny' ,
9+ headers : {
10+ 'x-timestamp' : Date . now ( ) ,
11+ 'x-sent' : true
12+ }
13+ }
14+
15+ const sharedSendFile = ( res , next , fileName ) => {
16+ res . sendFile ( fileName , options , ( err ) => {
17+ if ( err ) {
18+ next ( err )
19+ } else {
20+ console . log ( 'Sent:' , fileName )
21+ }
22+ } )
23+ }
24+
25+ app . get ( '/file/:name' , ( req , res , next ) => {
26+ res . sendFile ( )
27+ } )
28+
29+ app . get ( '/file/:name' , ( req , res , next ) => {
30+ res . sendFile ( "file.txt" )
31+ } )
32+
33+ app . get ( '/file/:name' , ( req , res , next ) => {
34+ const fileName = req . params . name
35+
36+ res . sendFile ( fileName , options , ( err ) => {
37+ if ( err ) {
38+ next ( err )
39+ } else {
40+ console . log ( 'Sent:' , fileName )
41+ }
42+ } )
43+ sharedSendFile ( res , next , fileName ) ;
44+ } )
45+
46+ app . get ( '/filename/:name' , function ( req , res , next ) {
47+ const fileName = req . params . name
48+
49+ res . sendFile ( fileName , options , ( err ) => {
50+ if ( err ) {
51+ next ( err )
52+ } else {
53+ console . log ( 'Sent:' , fileName )
54+ }
55+ } )
56+ sharedSendFile ( res , next , fileName ) ;
57+ } )
58+
59+ app . get ( '/file-handler' , ( req , res , next ) => {
60+ sendfile ( 'test' , options , ( err ) => {
61+ if ( err ) {
62+ next ( err )
63+ } else {
64+ console . log ( 'Sent:' , 'test' )
65+ }
66+ } )
67+ } )
0 commit comments