cloudinary / cloudinary/cloudinary_gem

Tags with special URI characters are not readable

オープン
#299 コメント 1 件 リアクション 0 件 担当者 1 名 @aleksandar-cloudinary が担当を希望しています GitHub で見る
bug
主要言語
Ruby
スター
420
フォーク
285
PR マージ指標
30日以内にマージされた PR はありません

説明

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.

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。