@@ -2,14 +2,19 @@ import Router from 'express';
2
2
import uuid from 'uuid' ;
3
3
4
4
import { allNames , pathFor } from '../lib/imageFiles' ;
5
- import common from './common' ;
6
5
import { combine } from '../lib/imager' ;
7
6
import potato from '../lib/potato' ;
8
7
9
8
const partTypes = [ 'eyes' , 'nose' , 'mouth' ] ;
10
9
11
10
const router = Router ( ) ;
12
11
12
+ const sendImage = ( { stdout, response } ) => {
13
+ response . setHeader ( 'Expires' , new Date ( Date . now ( ) + 604800000 ) ) ;
14
+ response . setHeader ( 'Content-Type' , 'image/png' ) ;
15
+ stdout . pipe ( response ) ;
16
+ } ;
17
+
13
18
router . param ( 'id' , ( req , res , next , id ) => {
14
19
const faceParts = potato . parts ( id ) ;
15
20
// @ts -ignore
@@ -32,16 +37,16 @@ router.get('/:size?/random', (req, res) => {
32
37
// @ts -ignore
33
38
req . faceParts = faceParts ;
34
39
35
- return combine ( faceParts , req . params . size , ( err , stdout ) => {
36
- return common . sendImage ( err , stdout , req , res ) ;
37
- } ) ;
40
+ return combine ( faceParts , req . params . size , ( err , stdout ) =>
41
+ sendImage ( { stdout, response : res } ) ,
42
+ ) ;
38
43
} ) ;
39
44
40
45
router . get ( '/:size?/:id' , ( req , res , next ) => {
41
46
// @ts -ignore
42
- return combine ( req . faceParts , req . params . size , ( err , stdout ) => {
43
- return common . sendImage ( err , stdout , req , res , next ) ;
44
- } ) ;
47
+ return combine ( req . faceParts , req . params . size , ( err , stdout ) =>
48
+ sendImage ( { stdout, response : res } ) ,
49
+ ) ;
45
50
} ) ;
46
51
47
52
router . get ( '/face/:eyes/:nose/:mouth/:color/:size?' , ( req , res , next ) => {
@@ -63,9 +68,9 @@ router.get('/face/:eyes/:nose/:mouth/:color/:size?', (req, res, next) => {
63
68
faceParts [ type ] = pathFor ( type , fileName ) ;
64
69
} ) ;
65
70
66
- return combine ( faceParts , req . params . size , ( err , stdout ) => {
67
- return common . sendImage ( err , stdout , req , res , next ) ;
68
- } ) ;
71
+ return combine ( faceParts , req . params . size , ( err , stdout ) =>
72
+ sendImage ( { stdout, response : res } ) ,
73
+ ) ;
69
74
} ) ;
70
75
71
76
export default router ;
0 commit comments