cloudinary / cloudinary/cloudinary_gem

Tags with special URI characters are not readable

Ouverte
#299 1 commentaire 0 réactions 1 personne assignée Réclamée par @aleksandar-cloudinary Voir sur GitHub
bug
Langage dominant
Ruby
Étoiles
420
Forks
285
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

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.

Guide de contribution

Ouvrir le guide de contribution

Évaluation

Cette issue n'a pas encore été évaluée.

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.