cloudinary / cloudinary/cloudinary_gem

Tags with special URI characters are not readable

Aperta
#299 1 commento 0 reazioni 1 assegnatario Rivendicata da @aleksandar-cloudinary Vedi su GitHub
bug
Lingua principale
Ruby
Stelle
420
Fork
285
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

Tags that contain non-uri-component-safe characters are not readable using the `resources_by_tag` method. Example:

```ruby
tag = 'with/some?bad=characters'
Cloudinary::Uploader.upload(url, tags: [tag]) # correctly encodes value

# will not see the upload
Cloudinary::Api.resources_by_tag(tag)
# because uri = "resources/#{resource_type}/tags/#{tag}"

# Work around, will see the upload
Cloudinary::Api.resources_by_tag(URI.encode_www_form_component(tag))
```

This looks to be caused by [assembling the URI without encoding](https://github.com/cloudinary/cloudinary_gem/blob/23e94073719732701915c68a12ff68afaaa32650/lib/cloudinary/api.rb#L51).

I'm opening an issue rather than a pull request because the code seems to have a lot of direct URI assembling, so the issue almost certainly exists elsewhere in the code. Most sites seem to have more constrained elements (`type`, `public_id`, etc.), but it does not hurt to encode them too.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.