charcoal 2.8.0 → 2.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/charcoal/utilities.rb +22 -4
- data/lib/charcoal/version.rb +1 -1
- metadata +11 -53
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 6d3a9f48b3bab866f70fb6546172acecea8ce4767e7a55854804b2099542554b
|
|
4
|
+
data.tar.gz: 034d87dfd8c1973ce3247850d933945b7a24b0c7de2d2b164244a0d618c9d2ec
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 7090f4dfff23575604def834c40ada23ce74191cff33cb63183ef4307832bd1a0688ad78df2e607032b775f1865448c100689860d7a6f2b39e0c22bd110c13cd
|
|
7
|
+
data.tar.gz: bb6e7bcc8f79c3d8c5f9b76eabe3f14c915c472c5c8b093f30a1807e1bfdf41bd7b993876c5a469e0bfe38c482029057d7a6e70e7f45c9a6181ffd0fea20647b
|
data/lib/charcoal/utilities.rb
CHANGED
|
@@ -1,7 +1,27 @@
|
|
|
1
1
|
require "action_controller"
|
|
2
|
+
require "action_dispatch"
|
|
2
3
|
|
|
3
4
|
module Charcoal::Utilities
|
|
4
|
-
|
|
5
|
+
# OPTIONS is the preflight question, not an answer. CONNECT/TRACE/TRACK are
|
|
6
|
+
# "forbidden methods" the browser won't send cross-origin.
|
|
7
|
+
# See https://fetch.spec.whatwg.org/#forbidden-method
|
|
8
|
+
FORBIDDEN_CORS_METHODS = %w[OPTIONS CONNECT TRACE TRACK].freeze
|
|
9
|
+
|
|
10
|
+
# WebDAV / versioning families (PROPFIND, MKCOL, REPORT, …): recognized by
|
|
11
|
+
# Rails but never sent cross-origin. These are the RFC groups ActionDispatch
|
|
12
|
+
# concatenates to build HTTP_METHODS.
|
|
13
|
+
WEBDAV_METHODS = [
|
|
14
|
+
*ActionDispatch::Request::RFC2518,
|
|
15
|
+
*ActionDispatch::Request::RFC3253,
|
|
16
|
+
*ActionDispatch::Request::RFC3648,
|
|
17
|
+
*ActionDispatch::Request::RFC3744,
|
|
18
|
+
*ActionDispatch::Request::RFC5323,
|
|
19
|
+
*ActionDispatch::Request::RFC4791
|
|
20
|
+
].freeze
|
|
21
|
+
|
|
22
|
+
# Verbs advertised in Access-Control-Allow-Methods.
|
|
23
|
+
HTTP_METHODS = (ActionDispatch::Request::HTTP_METHODS - FORBIDDEN_CORS_METHODS - WEBDAV_METHODS)
|
|
24
|
+
.map { |v| v.downcase.to_sym }.freeze
|
|
5
25
|
|
|
6
26
|
def allowed_methods_for?(protocol)
|
|
7
27
|
@allowed_methods ||= {}
|
|
@@ -12,9 +32,7 @@ module Charcoal::Utilities
|
|
|
12
32
|
private
|
|
13
33
|
|
|
14
34
|
def methods_allowed_for?(protocol)
|
|
15
|
-
|
|
16
|
-
next if verb == :options
|
|
17
|
-
|
|
35
|
+
HTTP_METHODS.select do |verb|
|
|
18
36
|
route = find_route(request.path, request.env.merge(method: verb))
|
|
19
37
|
|
|
20
38
|
if route
|
data/lib/charcoal/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: charcoal
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 2.
|
|
4
|
+
version: 2.9.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Steven Davidovitz
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2026-07-24 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -16,70 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
19
|
+
version: '7.0'
|
|
20
20
|
type: :runtime
|
|
21
21
|
prerelease: false
|
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
23
23
|
requirements:
|
|
24
24
|
- - ">="
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
|
-
version: '
|
|
26
|
+
version: '7.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
28
|
name: actionpack
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - ">="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '7.0'
|
|
34
34
|
type: :runtime
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - ">="
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
41
|
-
- !ruby/object:Gem::Dependency
|
|
42
|
-
name: rake
|
|
43
|
-
requirement: !ruby/object:Gem::Requirement
|
|
44
|
-
requirements:
|
|
45
|
-
- - ">="
|
|
46
|
-
- !ruby/object:Gem::Version
|
|
47
|
-
version: '0'
|
|
48
|
-
type: :development
|
|
49
|
-
prerelease: false
|
|
50
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
51
|
-
requirements:
|
|
52
|
-
- - ">="
|
|
53
|
-
- !ruby/object:Gem::Version
|
|
54
|
-
version: '0'
|
|
55
|
-
- !ruby/object:Gem::Dependency
|
|
56
|
-
name: yard
|
|
57
|
-
requirement: !ruby/object:Gem::Requirement
|
|
58
|
-
requirements:
|
|
59
|
-
- - ">="
|
|
60
|
-
- !ruby/object:Gem::Version
|
|
61
|
-
version: 0.9.11
|
|
62
|
-
type: :development
|
|
63
|
-
prerelease: false
|
|
64
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
65
|
-
requirements:
|
|
66
|
-
- - ">="
|
|
67
|
-
- !ruby/object:Gem::Version
|
|
68
|
-
version: 0.9.11
|
|
69
|
-
- !ruby/object:Gem::Dependency
|
|
70
|
-
name: shoulda
|
|
71
|
-
requirement: !ruby/object:Gem::Requirement
|
|
72
|
-
requirements:
|
|
73
|
-
- - "~>"
|
|
74
|
-
- !ruby/object:Gem::Version
|
|
75
|
-
version: '3.0'
|
|
76
|
-
type: :development
|
|
77
|
-
prerelease: false
|
|
78
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
79
|
-
requirements:
|
|
80
|
-
- - "~>"
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: '3.0'
|
|
40
|
+
version: '7.0'
|
|
83
41
|
description: Helps you support JSONP and CORS in your Rails app
|
|
84
42
|
email: sdavidovitz@zendesk.com
|
|
85
43
|
executables: []
|
|
@@ -97,7 +55,7 @@ homepage: https://github.com/zendesk/charcoal
|
|
|
97
55
|
licenses:
|
|
98
56
|
- MIT
|
|
99
57
|
metadata: {}
|
|
100
|
-
post_install_message:
|
|
58
|
+
post_install_message:
|
|
101
59
|
rdoc_options: []
|
|
102
60
|
require_paths:
|
|
103
61
|
- lib
|
|
@@ -105,15 +63,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
105
63
|
requirements:
|
|
106
64
|
- - ">="
|
|
107
65
|
- !ruby/object:Gem::Version
|
|
108
|
-
version: '3.
|
|
66
|
+
version: '3.2'
|
|
109
67
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
68
|
requirements:
|
|
111
69
|
- - ">="
|
|
112
70
|
- !ruby/object:Gem::Version
|
|
113
71
|
version: '0'
|
|
114
72
|
requirements: []
|
|
115
|
-
rubygems_version: 3.
|
|
116
|
-
signing_key:
|
|
73
|
+
rubygems_version: 3.4.19
|
|
74
|
+
signing_key:
|
|
117
75
|
specification_version: 4
|
|
118
76
|
summary: Cross-Origin helper for Rails
|
|
119
77
|
test_files: []
|