File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -36,6 +36,13 @@ def self.build_form_request(request_body)
3636 file = File . open ( attachment [ :file_path ] , "rb" )
3737 end
3838
39+ # Setting original filename and content type if available. See rest-client#lib/restclient/payload.rb
40+ filename = attachment [ :filename ] || attachment [ "filename" ]
41+ file . define_singleton_method ( :original_filename ) { filename } if filename
42+
43+ content_type = attachment [ :content_type ] || attachment [ "content_type" ]
44+ file . define_singleton_method ( :content_type ) { content_type } if content_type
45+
3946 form_data . merge! ( { "file#{ index } " => file } )
4047 opened_files << file
4148 end
Original file line number Diff line number Diff line change 192192 let ( :mock_file ) { instance_double ( "file" ) }
193193
194194 it "returns form data when attachment size is greater than 3MB" do
195- large_attachment = { size : 4 * 1024 * 1024 , content : mock_file }
195+ large_attachment = {
196+ size : 4 * 1024 * 1024 ,
197+ content : mock_file ,
198+ filename : "file.txt" ,
199+ content_type : "text/plain"
200+ }
196201 request_body = { attachments : [ large_attachment ] }
197202
198203 allow ( mock_file ) . to receive ( :read ) . and_return ( "file content" )
202207
203208 expect ( payload ) . to include ( "multipart" => true )
204209 expect ( opened_files ) . to include ( mock_file )
210+ expect ( mock_file . original_filename ) . to eq ( "file.txt" )
211+ expect ( mock_file . content_type ) . to eq ( "text/plain" )
205212 end
206213
207214 it "returns json data when attachment size is less than 3MB" do
You can’t perform that action at this time.
0 commit comments