Class: Uploader::UploadRequest
- Inherits:
-
Rack::Request
- Object
- Rack::Request
- Uploader::UploadRequest
- Defined in:
- lib/uploader/upload_request.rb
Constant Summary collapse
- SPLITTER =
'/'
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.
14 15 16 17 18 19 |
# File 'lib/uploader/upload_request.rb', line 14 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.
12 13 14 |
# File 'lib/uploader/upload_request.rb', line 12 def file @file end |
Instance Method Details
#chunked? ⇒ Boolean
25 26 27 |
# File 'lib/uploader/upload_request.rb', line 25 def chunked? content_length.to_i > 0 && @env['HTTP_CONTENT_RANGE'] end |
#chunked_completed? ⇒ Boolean
29 30 31 |
# File 'lib/uploader/upload_request.rb', line 29 def chunked_completed? file.size == total_file_length end |
#cleanup ⇒ Object
43 44 45 46 |
# File 'lib/uploader/upload_request.rb', line 43 def cleanup file.close FileUtils.rm(file.path, force: true) end |
#completed? ⇒ Boolean
21 22 23 |
# File 'lib/uploader/upload_request.rb', line 21 def completed? !chunked? || chunked_completed? end |
#filename ⇒ Object
39 40 41 |
# File 'lib/uploader/upload_request.rb', line 39 def filename @filename ||= extract_filename(@env['HTTP_CONTENT_DISPOSITION']) end |
#total_file_length ⇒ Object
33 34 35 36 37 |
# File 'lib/uploader/upload_request.rb', line 33 def total_file_length return content_length.to_i unless chunked? @env['HTTP_CONTENT_RANGE'].split(SPLITTER).last.to_i end |