@@ -49,8 +49,9 @@ exports.get = {
49
49
}
50
50
51
51
if ( block ) {
52
- return reply ( block . data )
52
+ return reply ( block . data ) . header ( 'X-Stream-Output' , '1' )
53
53
}
54
+
54
55
return reply ( {
55
56
Message : 'Block was unwanted before it could be remotely retrieved' ,
56
57
Code : 0
@@ -63,32 +64,40 @@ exports.put = {
63
64
// pre request handler that parses the args and returns `data` which is assigned to `request.pre.args`
64
65
parseArgs : ( request , reply ) => {
65
66
if ( ! request . payload ) {
66
- return reply ( "File argument 'data' is required" ) . code ( 400 ) . takeover ( )
67
+ return reply ( {
68
+ Message : "File argument 'data' is required" ,
69
+ Code : 0
70
+ } ) . code ( 400 ) . takeover ( )
67
71
}
68
72
69
73
const parser = multipart . reqParser ( request . payload )
70
74
var file
71
75
72
76
parser . on ( 'file' , ( fileName , fileStream ) => {
77
+ file = Buffer . alloc ( 0 )
78
+
73
79
fileStream . on ( 'data' , ( data ) => {
74
- file = data
80
+ file = Buffer . concat ( [ file , data ] )
75
81
} )
76
82
} )
77
83
78
84
parser . on ( 'end' , ( ) => {
79
85
if ( ! file ) {
80
- return reply ( "File argument 'data' is required" ) . code ( 400 ) . takeover ( )
86
+ return reply ( {
87
+ Message : "File argument 'data' is required" ,
88
+ Code : 0
89
+ } ) . code ( 400 ) . takeover ( )
81
90
}
82
91
83
92
return reply ( {
84
- data : file . toString ( )
93
+ data : file
85
94
} )
86
95
} )
87
96
} ,
88
97
89
98
// main route handler which is called after the above `parseArgs`, but only if the args were valid
90
99
handler : ( request , reply ) => {
91
- const data = Buffer . from ( request . pre . args . data )
100
+ const data = request . pre . args . data
92
101
const ipfs = request . server . app . ipfs
93
102
94
103
waterfall ( [
0 commit comments