@@ -102,8 +102,11 @@ module.exports = function () {
102
102
} ) ;
103
103
104
104
this . When ( / ^ I g e t a p r e \- s i g n e d U R L t o G E T t h e k e y " ( [ ^ " ] * ) " $ / , function ( key , callback ) {
105
- this . signedUrl = this . s3 . getSignedUrl ( 'getObject' , { Bucket : this . sharedBucket , Key : key } ) ;
106
- callback ( ) ;
105
+ var world = this ;
106
+ this . s3 . getSignedUrl ( 'getObject' , { Bucket : this . sharedBucket , Key : key } , function ( err , url ) {
107
+ world . signedUrl = url ;
108
+ callback ( ) ;
109
+ } ) ;
107
110
} ) ;
108
111
109
112
this . When ( / ^ I a c c e s s t h e U R L v i a H T T P G E T $ / , function ( callback ) {
@@ -117,10 +120,13 @@ module.exports = function () {
117
120
} ) ;
118
121
119
122
this . Given ( / ^ I g e t a p r e \- s i g n e d U R L t o P U T t h e k e y " ( [ ^ " ] * ) " (?: w i t h d a t a " ( [ ^ " ] * ) " ) ? $ / , function ( key , body , callback ) {
123
+ var world = this ;
120
124
var params = { Bucket : this . sharedBucket , Key : key } ;
121
125
if ( body ) params . Body = body ;
122
- this . signedUrl = this . s3 . getSignedUrl ( 'putObject' , params ) ;
123
- callback ( ) ;
126
+ this . s3 . getSignedUrl ( 'putObject' , params , function ( err , url ) {
127
+ world . signedUrl = url ;
128
+ callback ( ) ;
129
+ } ) ;
124
130
} ) ;
125
131
126
132
this . Given ( / ^ I a c c e s s t h e U R L v i a H T T P P U T w i t h d a t a " ( [ ^ " ] * ) " $ / , function ( body , callback ) {
@@ -142,6 +148,7 @@ module.exports = function () {
142
148
this . Given (
143
149
/ ^ I c r e a t e a p r e s i g n e d f o r m t o P O S T t h e k e y " ( [ ^ " ] * ) " w i t h t h e d a t a " ( [ ^ " ] * ) " $ / ,
144
150
function ( key , data , callback ) {
151
+ var world = this ;
145
152
var boundary = this . postBoundary = '----WebKitFormBoundaryLL0mBKIuuLUKr7be' ;
146
153
var conditions = [
147
154
[ 'content-length-range' , data . length - 1 , data . length + 1 ]
@@ -151,24 +158,25 @@ module.exports = function () {
151
158
Fields : { key : key } ,
152
159
Conditions : conditions
153
160
} ;
154
- var postData = this . s3 . createPresignedPost ( params ) ;
155
- var body = Object . keys ( postData . fields ) . reduce ( function ( body , fieldName ) {
156
- body += '--' + boundary + '\r\n' ;
157
- body += 'Content-Disposition: form-data; name="' + fieldName + '"\r\n\r\n' ;
158
- return body + postData . fields [ fieldName ] + '\r\n' ;
159
- } , '' ) ;
160
- body += '--' + this . postBoundary + '\r\n' ;
161
- body += 'Content-Disposition: form-data; name="file"; filename="' + key + '"\r\n' ;
162
- body += 'Content-Type: text/plain\r\n\r\n' ;
163
- body += data + '\r\n' ;
164
- body += '--' + this . postBoundary + '\r\n' ;
165
- body += 'Content-Disposition: form-data; name="submit"\r\n' ;
166
- body += 'Content-Type: text/plain\r\n\r\n' ;
167
- body += 'submit\r\n' ;
168
- body += '--' + this . postBoundary + '--\r\n' ;
169
- this . postBody = body ;
170
- this . postAction = postData . url ;
171
- callback ( ) ;
161
+ this . s3 . createPresignedPost ( params , function ( err , postData ) {
162
+ var body = Object . keys ( postData . fields ) . reduce ( function ( body , fieldName ) {
163
+ body += '--' + boundary + '\r\n' ;
164
+ body += 'Content-Disposition: form-data; name="' + fieldName + '"\r\n\r\n' ;
165
+ return body + postData . fields [ fieldName ] + '\r\n' ;
166
+ } , '' ) ;
167
+ body += '--' + world . postBoundary + '\r\n' ;
168
+ body += 'Content-Disposition: form-data; name="file"; filename="' + key + '"\r\n' ;
169
+ body += 'Content-Type: text/plain\r\n\r\n' ;
170
+ body += data + '\r\n' ;
171
+ body += '--' + world . postBoundary + '\r\n' ;
172
+ body += 'Content-Disposition: form-data; name="submit"\r\n' ;
173
+ body += 'Content-Type: text/plain\r\n\r\n' ;
174
+ body += 'submit\r\n' ;
175
+ body += '--' + world . postBoundary + '--\r\n' ;
176
+ world . postBody = body ;
177
+ world . postAction = postData . url ;
178
+ callback ( ) ;
179
+ } ) ;
172
180
}
173
181
) ;
174
182
0 commit comments