salestation 4.2.0 → 4.4.1
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/.github/workflows/ruby.yml +31 -0
- data/README.md +1 -3
- data/lib/salestation/web/input_validators/accept_header.rb +6 -2
- data/lib/salestation/web/request_logger.rb +2 -0
- data/lib/salestation/web/responses.rb +1 -1
- data/salestation.gemspec +3 -2
- metadata +23 -9
- data/.travis.yml +0 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 533d617c2c637187cc4cb8e9f1131d5dd54fb046c08a279724c99135268b2ad9
|
4
|
+
data.tar.gz: 61ff5a8e9d6a93c11dcf2333c4a88e145a8b13a5d2b62bc99a25e665f16a814f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 41deda5681c52b1fe10f40f4a68606ddc42accd68f816e5ce4cdeef0797400eb73fc65462338d218481c018554095af5b907005af0dc7cb1d89bbc7ff0ff4e9e
|
7
|
+
data.tar.gz: 66a543f73b6373b3ba6f40e664f385c651605fcdc0ce637af685341d3238abb852283144c40be6c1aaa8b3ff7252f65f6141f761e086273dcd20a4763da7b54a
|
@@ -0,0 +1,31 @@
|
|
1
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
2
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
3
|
+
|
4
|
+
name: CI
|
5
|
+
|
6
|
+
on:
|
7
|
+
push:
|
8
|
+
branches: [ master ]
|
9
|
+
pull_request:
|
10
|
+
branches: [ master ]
|
11
|
+
|
12
|
+
jobs:
|
13
|
+
test:
|
14
|
+
|
15
|
+
runs-on: ubuntu-latest
|
16
|
+
strategy:
|
17
|
+
matrix:
|
18
|
+
ruby-version: ['2.6', '2.7']
|
19
|
+
|
20
|
+
steps:
|
21
|
+
- uses: actions/checkout@v2
|
22
|
+
- name: Set up Ruby
|
23
|
+
# To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
|
24
|
+
# change this to (see https://github.com/ruby/setup-ruby#versioning):
|
25
|
+
# uses: ruby/setup-ruby@v1
|
26
|
+
uses: ruby/setup-ruby@473e4d8fe5dd94ee328fdfca9f8c9c7afc9dae5e
|
27
|
+
with:
|
28
|
+
ruby-version: ${{ matrix.ruby-version }}
|
29
|
+
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
|
30
|
+
- name: Run tests
|
31
|
+
run: bundle exec rake
|
data/README.md
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
# Salestation
|
2
|
-
|
3
|
-
[](https://travis-ci.org/salemove/salestation)
|
2
|
+

|
4
3
|
|
5
4
|
## Installation
|
6
5
|
|
@@ -221,4 +220,3 @@ Bug reports and pull requests are welcome on GitHub at https://github.com/[USERN
|
|
221
220
|
## License
|
222
221
|
|
223
222
|
The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
|
224
|
-
|
@@ -1,5 +1,7 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'http/accept'
|
4
|
+
|
3
5
|
module Salestation
|
4
6
|
class Web < Module
|
5
7
|
module InputValidators
|
@@ -15,9 +17,11 @@ module Salestation
|
|
15
17
|
end
|
16
18
|
|
17
19
|
def call(header_value)
|
18
|
-
|
20
|
+
return Success(nil) if @allowed_headers.empty?
|
21
|
+
|
22
|
+
mime_types = HTTP::Accept::MediaTypes.parse(header_value.to_s).map(&:mime_type)
|
19
23
|
|
20
|
-
if
|
24
|
+
if (@allowed_headers & mime_types).any?
|
21
25
|
Success(nil)
|
22
26
|
else
|
23
27
|
Failure(App::Errors::NotAcceptable.new(
|
@@ -11,6 +11,7 @@ module Salestation
|
|
11
11
|
CONTENT_TYPE = 'CONTENT_TYPE'
|
12
12
|
HTTP_USER_AGENT = 'HTTP_USER_AGENT'
|
13
13
|
HTTP_ACCEPT = 'HTTP_ACCEPT'
|
14
|
+
HTTP_ORIGIN = 'HTTP_ORIGIN'
|
14
15
|
SERVER_NAME = 'SERVER_NAME'
|
15
16
|
|
16
17
|
def initialize(app, logger, log_response_body: false, level: :info)
|
@@ -53,6 +54,7 @@ module Salestation
|
|
53
54
|
content_type: env[CONTENT_TYPE],
|
54
55
|
http_agent: env[HTTP_USER_AGENT],
|
55
56
|
http_accept: env[HTTP_ACCEPT],
|
57
|
+
http_origin: env[HTTP_ORIGIN],
|
56
58
|
server_name: env[SERVER_NAME],
|
57
59
|
status: status,
|
58
60
|
duration: duration(from: began_at),
|
@@ -66,7 +66,7 @@ module Salestation
|
|
66
66
|
end
|
67
67
|
|
68
68
|
class UnprocessableEntityFromSchemaErrors
|
69
|
-
def self.create(errors
|
69
|
+
def self.create(errors: nil, hints: nil, base_error: nil, form_errors: false)
|
70
70
|
message = errors ? parse_errors(errors) : nil
|
71
71
|
debug_message = hints ? parse_hints(hints) : nil
|
72
72
|
|
data/salestation.gemspec
CHANGED
@@ -4,7 +4,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
6
|
spec.name = "salestation"
|
7
|
-
spec.version = "4.
|
7
|
+
spec.version = "4.4.1"
|
8
8
|
spec.authors = ["Glia TechMovers"]
|
9
9
|
spec.email = ["techmovers@glia.com"]
|
10
10
|
|
@@ -23,10 +23,11 @@ Gem::Specification.new do |spec|
|
|
23
23
|
spec.add_development_dependency "rake", "~> 13.0"
|
24
24
|
spec.add_development_dependency "rspec", "~> 3.0"
|
25
25
|
spec.add_development_dependency "pry", "~> 0.10.4"
|
26
|
-
spec.add_development_dependency "glia-errors", "~> 0.
|
26
|
+
spec.add_development_dependency "glia-errors", "~> 0.11.4"
|
27
27
|
spec.add_development_dependency "dry-validation"
|
28
28
|
|
29
29
|
spec.add_dependency 'deterministic'
|
30
30
|
spec.add_dependency 'dry-struct'
|
31
31
|
spec.add_dependency 'dry-types'
|
32
|
+
spec.add_dependency 'http-accept', '~> 2.1'
|
32
33
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: salestation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 4.
|
4
|
+
version: 4.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Glia TechMovers
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-09-07 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -72,14 +72,14 @@ dependencies:
|
|
72
72
|
requirements:
|
73
73
|
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
|
-
version:
|
75
|
+
version: 0.11.4
|
76
76
|
type: :development
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
80
|
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
|
-
version:
|
82
|
+
version: 0.11.4
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: dry-validation
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,6 +136,20 @@ dependencies:
|
|
136
136
|
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: http-accept
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - "~>"
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: '2.1'
|
146
|
+
type: :runtime
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - "~>"
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: '2.1'
|
139
153
|
description: ''
|
140
154
|
email:
|
141
155
|
- techmovers@glia.com
|
@@ -143,9 +157,9 @@ executables: []
|
|
143
157
|
extensions: []
|
144
158
|
extra_rdoc_files: []
|
145
159
|
files:
|
160
|
+
- ".github/workflows/ruby.yml"
|
146
161
|
- ".gitignore"
|
147
162
|
- ".rspec"
|
148
|
-
- ".travis.yml"
|
149
163
|
- Gemfile
|
150
164
|
- LICENSE.txt
|
151
165
|
- README.md
|
@@ -174,7 +188,7 @@ homepage: ''
|
|
174
188
|
licenses:
|
175
189
|
- MIT
|
176
190
|
metadata: {}
|
177
|
-
post_install_message:
|
191
|
+
post_install_message:
|
178
192
|
rdoc_options: []
|
179
193
|
require_paths:
|
180
194
|
- lib
|
@@ -189,8 +203,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
189
203
|
- !ruby/object:Gem::Version
|
190
204
|
version: '0'
|
191
205
|
requirements: []
|
192
|
-
rubygems_version: 3.0.
|
193
|
-
signing_key:
|
206
|
+
rubygems_version: 3.0.3
|
207
|
+
signing_key:
|
194
208
|
specification_version: 4
|
195
209
|
summary: ''
|
196
210
|
test_files: []
|
data/.travis.yml
DELETED