Compare commits

5 Commits

Author SHA1 Message Date
e90ed70002 Remove Webrick method in favor of stdlib 2023-10-26 15:58:04 +02:00
5b8c1f1e9d Update tested Redis versions 2023-10-26 15:57:23 +02:00
49614544db Update dependencies
Requires Ruby 2.7+
2023-10-26 15:54:22 +02:00
285073f7a7 Merge pull request #151 from 5apps/dependabot/bundler/rack-2.2.3.1
Bump rack from 2.2.3 to 2.2.3.1
2022-05-27 19:52:49 +02:00
dependabot[bot]
7fc86fe9ae Bump rack from 2.2.3 to 2.2.3.1
Bumps [rack](https://github.com/rack/rack) from 2.2.3 to 2.2.3.1.
- [Release notes](https://github.com/rack/rack/releases)
- [Changelog](https://github.com/rack/rack/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rack/rack/compare/2.2.3...2.2.3.1)

---
updated-dependencies:
- dependency-name: rack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-27 16:42:50 +00:00
4 changed files with 61 additions and 61 deletions

View File

@@ -11,13 +11,11 @@ permissions:
jobs: jobs:
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
ruby-version: ['2.5', '2.6', '2.7'] ruby-version: ['2.7', '3.0', '3.1']
redis-version: [4, 5, 6] redis-version: [6, 7]
steps: steps:
- uses: actions/checkout@v3 - uses: actions/checkout@v3
- name: Set up Ruby - name: Set up Ruby

View File

@@ -2,8 +2,8 @@ source "https://rubygems.org"
gem "sinatra", "~> 2.2.0" gem "sinatra", "~> 2.2.0"
gem "sinatra-contrib", "~> 2.2.0" gem "sinatra-contrib", "~> 2.2.0"
gem "activesupport", "~> 6.0.5" gem "activesupport", "~> 6.1.0"
gem "rest-client", "~> 2.1.0" # Fixes a memory leak in Ruby 2.4 gem "rest-client", "~> 2.1.0"
gem "redis", "~> 4.6.0" gem "redis", "~> 4.6.0"
# Remove require when we can update to 3.0, which sets the new storage # Remove require when we can update to 3.0, which sets the new storage
# format to columnar by default. Increases performance # format to columnar by default. Increases performance

View File

@@ -1,98 +1,100 @@
GEM GEM
remote: https://rubygems.org/ remote: https://rubygems.org/
specs: specs:
activesupport (6.0.5) activesupport (6.1.7.6)
concurrent-ruby (~> 1.0, >= 1.0.2) concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2) i18n (>= 1.6, < 2)
minitest (~> 5.1) minitest (>= 5.1)
tzinfo (~> 1.1) tzinfo (~> 2.0)
zeitwerk (~> 2.2, >= 2.2.2) zeitwerk (~> 2.3)
addressable (2.8.0) addressable (2.8.5)
public_suffix (>= 2.0.2, < 5.0) public_suffix (>= 2.0.2, < 6.0)
concurrent-ruby (1.1.10) base64 (0.1.1)
crack (0.4.3) concurrent-ruby (1.2.2)
safe_yaml (~> 1.0.0) crack (0.4.5)
rexml
domain_name (0.5.20190701) domain_name (0.5.20190701)
unf (>= 0.0.5, < 1.0.0) unf (>= 0.0.5, < 1.0.0)
faraday (0.17.0) faraday (2.7.11)
multipart-post (>= 1.2, < 3) base64
hashdiff (1.0.0) faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
hashdiff (1.0.1)
http-accept (1.7.0) http-accept (1.7.0)
http-cookie (1.0.3) http-cookie (1.0.5)
domain_name (~> 0.5) domain_name (~> 0.5)
i18n (1.10.0) i18n (1.14.1)
concurrent-ruby (~> 1.0) concurrent-ruby (~> 1.0)
kgio (2.11.2) kgio (2.11.4)
m (1.5.1) m (1.6.2)
method_source (>= 0.6.7) method_source (>= 0.6.7)
rake (>= 0.9.2.2) rake (>= 0.9.2.2)
method_source (0.9.2) method_source (1.0.0)
mime-types (3.3) mime-types (3.5.1)
mime-types-data (~> 3.2015) mime-types-data (~> 3.2015)
mime-types-data (3.2019.1009) mime-types-data (3.2023.1003)
minitest (5.13.0) minitest (5.20.0)
minitest-stub_any_instance (1.0.2) minitest-stub_any_instance (1.0.3)
multi_json (1.15.0) multi_json (1.15.0)
multipart-post (2.1.1) mustermann (2.0.2)
mustermann (1.1.1)
ruby2_keywords (~> 0.0.1) ruby2_keywords (~> 0.0.1)
netrc (0.11.0) netrc (0.11.0)
public_suffix (4.0.1) public_suffix (5.0.3)
purdytest (2.0.0) purdytest (2.0.0)
minitest (~> 5.5) minitest (~> 5.5)
rack (2.2.3) rack (2.2.8)
rack-protection (2.2.0) rack-protection (2.2.4)
rack rack
rack-test (1.1.0) rack-test (2.1.0)
rack (>= 1.0, < 3) rack (>= 1.3)
rainbows (5.2.0) rainbows (5.2.1)
kgio (~> 2.5) kgio (~> 2.5)
rack (>= 1.1, < 3.0) rack (>= 1.1, < 3.0)
unicorn (~> 5.1) unicorn (~> 5.1)
raindrops (0.19.0) raindrops (0.20.1)
rake (13.0.1) rake (13.0.6)
redis (4.6.0) redis (4.6.0)
rest-client (2.1.0) rest-client (2.1.0)
http-accept (>= 1.7.0, < 2.0) http-accept (>= 1.7.0, < 2.0)
http-cookie (>= 1.0.2, < 2.0) http-cookie (>= 1.0.2, < 2.0)
mime-types (>= 1.16, < 4.0) mime-types (>= 1.16, < 4.0)
netrc (~> 0.8) netrc (~> 0.8)
rexml (3.2.6)
ruby2_keywords (0.0.5) ruby2_keywords (0.0.5)
safe_yaml (1.0.5) sentry-raven (3.1.2)
sentry-raven (2.12.3) faraday (>= 1.0)
faraday (>= 0.7.6, < 1.0) sinatra (2.2.4)
sinatra (2.2.0) mustermann (~> 2.0)
mustermann (~> 1.0)
rack (~> 2.2) rack (~> 2.2)
rack-protection (= 2.2.0) rack-protection (= 2.2.4)
tilt (~> 2.0) tilt (~> 2.0)
sinatra-contrib (2.2.0) sinatra-contrib (2.2.4)
multi_json multi_json
mustermann (~> 1.0) mustermann (~> 2.0)
rack-protection (= 2.2.0) rack-protection (= 2.2.4)
sinatra (= 2.2.0) sinatra (= 2.2.4)
tilt (~> 2.0) tilt (~> 2.0)
thread_safe (0.3.6) tilt (2.3.0)
tilt (2.0.10) tzinfo (2.0.6)
tzinfo (1.2.9) concurrent-ruby (~> 1.0)
thread_safe (~> 0.1)
unf (0.1.4) unf (0.1.4)
unf_ext unf_ext
unf_ext (0.0.7.6) unf_ext (0.0.8.2)
unicorn (5.5.1) unicorn (5.8.0)
kgio (~> 2.6) kgio (~> 2.6)
raindrops (~> 0.7) raindrops (~> 0.7)
webmock (3.7.6) webmock (3.19.1)
addressable (>= 2.3.6) addressable (>= 2.8.0)
crack (>= 0.3.2) crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0) hashdiff (>= 0.4.0, < 2.0.0)
zeitwerk (2.5.4) zeitwerk (2.6.12)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
activesupport (~> 6.0.5) activesupport (~> 6.1.0)
m m
mime-types mime-types
minitest-stub_any_instance minitest-stub_any_instance
@@ -108,4 +110,4 @@ DEPENDENCIES
webmock webmock
BUNDLED WITH BUNDLED WITH
1.16.0 2.3.7

View File

@@ -1,8 +1,8 @@
require "remote_storage/rest_provider" require "remote_storage/rest_provider"
require "digest" require "digest"
require "base64" require "base64"
require "cgi"
require "openssl" require "openssl"
require "webrick/httputils"
module RemoteStorage module RemoteStorage
class S3 class S3
@@ -92,7 +92,7 @@ module RemoteStorage
end end
def uri_escape(s) def uri_escape(s)
WEBrick::HTTPUtils.escape(s).gsub('%5B', '[').gsub('%5D', ']') CGI.escape(s).gsub('%5B', '[').gsub('%5D', ']')
end end
def generate_s3_signature(http_verb, md5, content_type, date, url) def generate_s3_signature(http_verb, md5, content_type, date, url)