Class: Service::GlibS3Service
- Inherits:
- 
      S3Service
      
        - Object
- S3Service
- Service::GlibS3Service
 
- Defined in:
- lib/active_storage/service/glib_s3_service.rb
Instance Attribute Summary collapse
- 
  
    
      #tagging  ⇒ Object 
    
    
  
  
  
  
    
    
  
  
  
  
  
  
    Returns the value of attribute tagging. 
Instance Method Summary collapse
- 
  
    
      #url_for_direct_upload(key, expires_in:, content_type:, content_length:, checksum:, custom_metadata: {})  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    This is cause problem because S3 server ignore ‘x-amz-tagging` query params so it fails to tagging an object API: docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Presigner.html#presigned_request-instance_method Detail about problem: github.com/aws/aws-sdk/issues/782. 
Instance Attribute Details
#tagging ⇒ Object
Returns the value of attribute tagging.
| 5 6 7 | # File 'lib/active_storage/service/glib_s3_service.rb', line 5 def tagging @tagging end | 
Instance Method Details
#url_for_direct_upload(key, expires_in:, content_type:, content_length:, checksum:, custom_metadata: {}) ⇒ Object
This is cause problem because S3 server ignore ‘x-amz-tagging` query params so it fails to tagging an object API: docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/S3/Presigner.html#presigned_request-instance_method Detail about problem: github.com/aws/aws-sdk/issues/782
| 10 11 12 13 14 15 16 17 18 19 20 | # File 'lib/active_storage/service/glib_s3_service.rb', line 10 def url_for_direct_upload(key, expires_in:, content_type:, content_length:, checksum:, custom_metadata: {}) instrument :url, key: key do |payload| generated_url, headers = object_for(key).presigned_request :put, expires_in: expires_in.to_i, content_type: content_type, content_length: content_length, content_md5: checksum, metadata: , whitelist_headers: ['content-length'], tagging: tagging, ** payload[:url] = generated_url [generated_url, headers] end end |