Class: Ultrasafeai::Uploads::Client
- Inherits:
-
Object
- Object
- Ultrasafeai::Uploads::Client
- Defined in:
- lib/ultrasafeai/uploads/client.rb
Instance Method Summary collapse
- #cancel_upload(request_options: {}, **params) ⇒ Ultrasafeai::Types::Upload
- #complete_upload(request_options: {}, **params) ⇒ Ultrasafeai::Types::Upload
- #create_upload(request_options: {}, **params) ⇒ Ultrasafeai::Types::Upload
- #initialize(client:, base_url: nil, environment: nil) ⇒ void constructor
- #upload_part(request_options: {}, **params) ⇒ Hash[String, Object]
Constructor Details
#initialize(client:, base_url: nil, environment: nil) ⇒ void
11 12 13 14 15 |
# File 'lib/ultrasafeai/uploads/client.rb', line 11 def initialize(client:, base_url: nil, environment: nil) @client = client @base_url = base_url @environment = environment end |
Instance Method Details
#cancel_upload(request_options: {}, **params) ⇒ Ultrasafeai::Types::Upload
59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 |
# File 'lib/ultrasafeai/uploads/client.rb', line 59 def cancel_upload(request_options: {}, **params) params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params) request = Ultrasafeai::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:base), method: "POST", path: "uploads/#{URI.encode_uri_component(params[:upload_id].to_s)}/cancel", request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Ultrasafeai::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Ultrasafeai::Types::Upload.load(response.body) else error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#complete_upload(request_options: {}, **params) ⇒ Ultrasafeai::Types::Upload
91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/ultrasafeai/uploads/client.rb', line 91 def complete_upload(request_options: {}, **params) params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params) request_data = Ultrasafeai::Uploads::Types::CompleteUploadRequest.new(params).to_h non_body_param_names = %w[upload_id] body = request_data.except(*non_body_param_names) request = Ultrasafeai::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:base), method: "POST", path: "uploads/#{URI.encode_uri_component(params[:upload_id].to_s)}/complete", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Ultrasafeai::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Ultrasafeai::Types::Upload.load(response.body) else error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#create_upload(request_options: {}, **params) ⇒ Ultrasafeai::Types::Upload
26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/ultrasafeai/uploads/client.rb', line 26 def create_upload(request_options: {}, **params) params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params) request = Ultrasafeai::Internal::JSON::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:base), method: "POST", path: "uploads", body: Ultrasafeai::Uploads::Types::CreateUploadRequest.new(params).to_h, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Ultrasafeai::Errors::TimeoutError end code = response.code.to_i if code.between?(200, 299) Ultrasafeai::Types::Upload.load(response.body) else error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end end |
#upload_part(request_options: {}, **params) ⇒ Hash[String, Object]
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 |
# File 'lib/ultrasafeai/uploads/client.rb', line 128 def upload_part(request_options: {}, **params) params = Ultrasafeai::Internal::Types::Utils.normalize_keys(params) body = Internal::Multipart::FormData.new body.add_part(params[:data].to_form_data_part(name: "data")) if params[:data] request = Ultrasafeai::Internal::Multipart::Request.new( base_url: [:base_url] || @base_url || @environment&.dig(:base), method: "POST", path: "uploads/#{URI.encode_uri_component(params[:upload_id].to_s)}/parts", body: body, request_options: ) begin response = @client.send(request) rescue Net::HTTPRequestTimeout raise Ultrasafeai::Errors::TimeoutError end code = response.code.to_i return if code.between?(200, 299) error_class = Ultrasafeai::Errors::ResponseError.subclass_for_code(code) raise error_class.new(response.body, code: code) end |