Class: Uploader::UploadRequest
- Inherits:
-
Rack::Request
- Object
- Rack::Request
- Uploader::UploadRequest
- Defined in:
- lib/uploader/upload_request.rb
Constant Summary collapse
- SPLITTER =
'/'.freeze
Instance Attribute Summary collapse
-
#file ⇒ Object
readonly
Returns the value of attribute file.
Instance Method Summary collapse
- #chunked? ⇒ Boolean
- #chunked_completed? ⇒ Boolean
- #cleanup ⇒ Object
- #completed? ⇒ Boolean
- #filename ⇒ Object
-
#initialize(env, file_or_part) ⇒ UploadRequest
constructor
A new instance of UploadRequest.
- #total_file_length ⇒ Object
Constructor Details
#initialize(env, file_or_part) ⇒ UploadRequest
Returns a new instance of UploadRequest.
12 13 14 15 16 17 |
# File 'lib/uploader/upload_request.rb', line 12 def initialize(env, file_or_part) super(env) @file = file_or_part append_chunked_content end |
Instance Attribute Details
#file ⇒ Object (readonly)
Returns the value of attribute file.
10 11 12 |
# File 'lib/uploader/upload_request.rb', line 10 def file @file end |
Instance Method Details
#chunked? ⇒ Boolean
23 24 25 |
# File 'lib/uploader/upload_request.rb', line 23 def chunked? content_length.to_i > 0 && @env['HTTP_CONTENT_RANGE'] end |
#chunked_completed? ⇒ Boolean
27 28 29 |
# File 'lib/uploader/upload_request.rb', line 27 def chunked_completed? file.size == total_file_length end |
#cleanup ⇒ Object
40 41 42 43 |
# File 'lib/uploader/upload_request.rb', line 40 def cleanup file.close FileUtils.rm(file.path, force: true) end |
#completed? ⇒ Boolean
19 20 21 |
# File 'lib/uploader/upload_request.rb', line 19 def completed? !chunked? || chunked_completed? end |
#filename ⇒ Object
36 37 38 |
# File 'lib/uploader/upload_request.rb', line 36 def filename @filename ||= extract_filename(@env['HTTP_CONTENT_DISPOSITION']) end |
#total_file_length ⇒ Object
31 32 33 34 |
# File 'lib/uploader/upload_request.rb', line 31 def total_file_length return content_length.to_i unless chunked? @env['HTTP_CONTENT_RANGE'].split(SPLITTER).last.to_i end |