charcoal 2.7.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 -65
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,82 +16,28 @@ dependencies:
|
|
|
16
16
|
requirements:
|
|
17
17
|
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version: '
|
|
20
|
-
- - "<"
|
|
21
|
-
- !ruby/object:Gem::Version
|
|
22
|
-
version: '7.2'
|
|
19
|
+
version: '7.0'
|
|
23
20
|
type: :runtime
|
|
24
21
|
prerelease: false
|
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
23
|
requirements:
|
|
27
24
|
- - ">="
|
|
28
25
|
- !ruby/object:Gem::Version
|
|
29
|
-
version: '
|
|
30
|
-
- - "<"
|
|
31
|
-
- !ruby/object:Gem::Version
|
|
32
|
-
version: '7.2'
|
|
26
|
+
version: '7.0'
|
|
33
27
|
- !ruby/object:Gem::Dependency
|
|
34
28
|
name: actionpack
|
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
|
36
30
|
requirements:
|
|
37
31
|
- - ">="
|
|
38
32
|
- !ruby/object:Gem::Version
|
|
39
|
-
version: '
|
|
40
|
-
- - "<"
|
|
41
|
-
- !ruby/object:Gem::Version
|
|
42
|
-
version: '7.2'
|
|
33
|
+
version: '7.0'
|
|
43
34
|
type: :runtime
|
|
44
35
|
prerelease: false
|
|
45
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
46
37
|
requirements:
|
|
47
38
|
- - ">="
|
|
48
39
|
- !ruby/object:Gem::Version
|
|
49
|
-
version: '
|
|
50
|
-
- - "<"
|
|
51
|
-
- !ruby/object:Gem::Version
|
|
52
|
-
version: '7.2'
|
|
53
|
-
- !ruby/object:Gem::Dependency
|
|
54
|
-
name: rake
|
|
55
|
-
requirement: !ruby/object:Gem::Requirement
|
|
56
|
-
requirements:
|
|
57
|
-
- - ">="
|
|
58
|
-
- !ruby/object:Gem::Version
|
|
59
|
-
version: '0'
|
|
60
|
-
type: :development
|
|
61
|
-
prerelease: false
|
|
62
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
63
|
-
requirements:
|
|
64
|
-
- - ">="
|
|
65
|
-
- !ruby/object:Gem::Version
|
|
66
|
-
version: '0'
|
|
67
|
-
- !ruby/object:Gem::Dependency
|
|
68
|
-
name: yard
|
|
69
|
-
requirement: !ruby/object:Gem::Requirement
|
|
70
|
-
requirements:
|
|
71
|
-
- - ">="
|
|
72
|
-
- !ruby/object:Gem::Version
|
|
73
|
-
version: 0.9.11
|
|
74
|
-
type: :development
|
|
75
|
-
prerelease: false
|
|
76
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
77
|
-
requirements:
|
|
78
|
-
- - ">="
|
|
79
|
-
- !ruby/object:Gem::Version
|
|
80
|
-
version: 0.9.11
|
|
81
|
-
- !ruby/object:Gem::Dependency
|
|
82
|
-
name: shoulda
|
|
83
|
-
requirement: !ruby/object:Gem::Requirement
|
|
84
|
-
requirements:
|
|
85
|
-
- - "~>"
|
|
86
|
-
- !ruby/object:Gem::Version
|
|
87
|
-
version: '3.0'
|
|
88
|
-
type: :development
|
|
89
|
-
prerelease: false
|
|
90
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
91
|
-
requirements:
|
|
92
|
-
- - "~>"
|
|
93
|
-
- !ruby/object:Gem::Version
|
|
94
|
-
version: '3.0'
|
|
40
|
+
version: '7.0'
|
|
95
41
|
description: Helps you support JSONP and CORS in your Rails app
|
|
96
42
|
email: sdavidovitz@zendesk.com
|
|
97
43
|
executables: []
|
|
@@ -109,7 +55,7 @@ homepage: https://github.com/zendesk/charcoal
|
|
|
109
55
|
licenses:
|
|
110
56
|
- MIT
|
|
111
57
|
metadata: {}
|
|
112
|
-
post_install_message:
|
|
58
|
+
post_install_message:
|
|
113
59
|
rdoc_options: []
|
|
114
60
|
require_paths:
|
|
115
61
|
- lib
|
|
@@ -117,15 +63,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
117
63
|
requirements:
|
|
118
64
|
- - ">="
|
|
119
65
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: '2
|
|
66
|
+
version: '3.2'
|
|
121
67
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
122
68
|
requirements:
|
|
123
69
|
- - ">="
|
|
124
70
|
- !ruby/object:Gem::Version
|
|
125
71
|
version: '0'
|
|
126
72
|
requirements: []
|
|
127
|
-
rubygems_version: 3.
|
|
128
|
-
signing_key:
|
|
73
|
+
rubygems_version: 3.4.19
|
|
74
|
+
signing_key:
|
|
129
75
|
specification_version: 4
|
|
130
76
|
summary: Cross-Origin helper for Rails
|
|
131
77
|
test_files: []
|