rack-logstasher 1.1.0 → 2.1.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d877ce60ae84d0a7532df7b8e89c8947fc7fcb4d6bd3733894c5761bc877a7c
4
- data.tar.gz: 19b5da86c58508f8031737a65f4244ae7f1d91c4451a0587ae7559d0fa43b3d3
3
+ metadata.gz: 5a4370f7b7207d7d9fbdd41790ff2c33516eb7eae11872ebb8487c5ba14a5927
4
+ data.tar.gz: 5fc4eb96ab1fff94b08c3bf904c134d9ada78acc735a2c9e943782065d34808c
5
5
  SHA512:
6
- metadata.gz: 4607fc05644c2a62c82f326aa933f832f11f788a1ba462f5cd4aa48beb721544347d9f9ea3d2f59969769a1c2403da6fdbdfaa35da0238e9c24f6fcb951c0b00
7
- data.tar.gz: d47fe6f832f458d24e4ad6cf91d3235a93ccd5e3c311c6d16d8af3e13a64bf6abe08ee359e5c90a57d1419965e8517fd26b57c0fd1c5dab4906a99f0a66bb6fa
6
+ metadata.gz: d98b7afe5ecb8bbcbbe77e23c991532afe56329c8cd5ee0e8ab6035a1f588eb5d8559fc6683c4e0611563dad23ff7213bf332a5e022409b72b4b5537d4a1cc88
7
+ data.tar.gz: b869d0a6e1c3901d8ac5bdbab7fd255245d21b29a2c35c8eb49c15b58701cfa48fa7b1f8f80ac9c88dd31bd7b41c34e8b4608d28f4ca47cc8a64c0ee71dabdc4
@@ -0,0 +1,10 @@
1
+ on:
2
+ workflow_dispatch: {}
3
+ schedule:
4
+ - cron: '00 13 * * 2'
5
+
6
+ jobs:
7
+ autorelease:
8
+ uses: alphagov/govuk-infrastructure/.github/workflows/autorelease-rubygem.yml@main
9
+ secrets:
10
+ GH_TOKEN: ${{ secrets.GOVUK_CI_GITHUB_API_TOKEN }}
@@ -1,15 +1,36 @@
1
1
  on: [push, pull_request]
2
2
 
3
3
  jobs:
4
+ snyk-security:
5
+ name: SNYK security analysis
6
+ uses: alphagov/govuk-infrastructure/.github/workflows/snyk-security.yml@main
7
+ with:
8
+ skip_sca: true
9
+ secrets: inherit
10
+ permissions:
11
+ contents: read
12
+ security-events: write
13
+ actions: read
14
+
15
+ codeql-sast:
16
+ name: CodeQL SAST scan
17
+ uses: alphagov/govuk-infrastructure/.github/workflows/codeql-analysis.yml@main
18
+ permissions:
19
+ security-events: write
20
+
21
+ dependency-review:
22
+ name: Dependency Review scan
23
+ uses: alphagov/govuk-infrastructure/.github/workflows/dependency-review.yml@main
24
+
4
25
  test_matrix:
5
26
  strategy:
6
27
  fail-fast: false
7
28
  matrix:
8
29
  # Due to https://github.com/actions/runner/issues/849, we have to use quotes for '3.0'
9
- ruby: [ 2.7, '3.0', 3.1 ]
30
+ ruby: ['3.0', 3.1, 3.2]
10
31
  runs-on: ubuntu-latest
11
32
  steps:
12
- - uses: actions/checkout@v3
33
+ - uses: actions/checkout@v4
13
34
  - uses: ruby/setup-ruby@v1
14
35
  with:
15
36
  ruby-version: ${{ matrix.ruby }}
@@ -30,6 +51,6 @@ jobs:
30
51
  if: ${{ github.ref == 'refs/heads/main' }}
31
52
  permissions:
32
53
  contents: write
33
- uses: alphagov/govuk-infrastructure/.github/workflows/publish-rubygem.yaml@main
54
+ uses: alphagov/govuk-infrastructure/.github/workflows/publish-rubygem.yml@main
34
55
  secrets:
35
56
  GEM_HOST_API_KEY: ${{ secrets.ALPHAGOV_RUBYGEMS_API_KEY }}
@@ -0,0 +1,6 @@
1
+ api_version: 1
2
+ auto_merge:
3
+ - dependency: rubocop-govuk
4
+ allowed_semver_bumps:
5
+ - patch
6
+ - minor
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 2.7.6
1
+ 3.0.5
data/CHANGELOG.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## 2.1.0
2
+
3
+ * Drop support for Ruby 2.7.
4
+
5
+ # 2.0.0
6
+
7
+ - Add support for Rack 3
8
+ - **BREAKING** Only allows lower case header keys due to [underlying Rack spec change at 3.0.0beta1](https://github.com/rack/rack/blob/main/CHANGELOG.md#300beta1---2022-08-08).
9
+
1
10
  # 1.1.0
2
11
 
3
12
  - Require Ruby 2.7 and greater
data/README.md CHANGED
@@ -1,6 +1,8 @@
1
1
  # Rack::Logstasher
2
2
 
3
- Rack middleware to log requests in logstash json event format
3
+ Rack middleware to log requests in logstash json event format.
4
+ It is designed to give Rails-like logging to Sinatra apps.
5
+ The gem is currently used by [search-api](https://github.com/alphagov/search-api) and [contentful-listener-api](https://github.com/alphagov/contentful-listener-api).
4
6
 
5
7
  ## Installation
6
8
 
@@ -1,5 +1,5 @@
1
1
  module Rack
2
2
  module Logstasher
3
- VERSION = "1.1.0".freeze
3
+ VERSION = "2.1.0".freeze
4
4
  end
5
5
  end
@@ -12,7 +12,7 @@ Gem::Specification.new do |spec|
12
12
  spec.homepage = "https://github.com/alphagov/rack-logstasher"
13
13
  spec.license = "MIT"
14
14
 
15
- spec.required_ruby_version = ">= 2.7"
15
+ spec.required_ruby_version = ">= 3.0"
16
16
 
17
17
  spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
18
18
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
@@ -20,10 +20,10 @@ Gem::Specification.new do |spec|
20
20
  spec.require_paths = %w[lib]
21
21
 
22
22
  spec.add_dependency "logstash-event", "~> 1.2"
23
- spec.add_dependency "rack", "~> 2.0"
23
+ spec.add_dependency "rack", ">= 2", "< 4"
24
24
 
25
25
  spec.add_development_dependency "rack-test", "~> 2"
26
26
  spec.add_development_dependency "rake"
27
27
  spec.add_development_dependency "rspec", "~> 3"
28
- spec.add_development_dependency "rubocop-govuk", "4.8.0"
28
+ spec.add_development_dependency "rubocop-govuk", "4.16.1"
29
29
  end
@@ -110,7 +110,7 @@ describe Rack::Logstasher::Logger do
110
110
 
111
111
  it "adds specified extra response headers to the log under the given key" do
112
112
  extra_response_headers["foo"] = "header_foo"
113
- inner_response_headers["Foo"] = "bar"
113
+ inner_response_headers["foo"] = "bar"
114
114
  get "/something"
115
115
 
116
116
  log_details = JSON.parse(last_log_line)
@@ -136,16 +136,6 @@ describe Rack::Logstasher::Logger do
136
136
 
137
137
  expect(log_details["cache_status"]).to eq("MISS")
138
138
  end
139
-
140
- it "matches header in a case-insensitive fashion" do
141
- extra_response_headers["X-CacHe"] = "cache_status"
142
- inner_response_headers["x-cAche"] = "MISS"
143
- get "/something"
144
-
145
- log_details = JSON.parse(last_log_line)
146
-
147
- expect(log_details["cache_status"]).to eq("MISS")
148
- end
149
139
  end
150
140
  end
151
141
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rack-logstasher
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GOV.UK Dev
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-10-31 00:00:00.000000000 Z
11
+ date: 2024-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: logstash-event
@@ -28,16 +28,22 @@ dependencies:
28
28
  name: rack
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - "~>"
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '2'
34
+ - - "<"
32
35
  - !ruby/object:Gem::Version
33
- version: '2.0'
36
+ version: '4'
34
37
  type: :runtime
35
38
  prerelease: false
36
39
  version_requirements: !ruby/object:Gem::Requirement
37
40
  requirements:
38
- - - "~>"
41
+ - - ">="
42
+ - !ruby/object:Gem::Version
43
+ version: '2'
44
+ - - "<"
39
45
  - !ruby/object:Gem::Version
40
- version: '2.0'
46
+ version: '4'
41
47
  - !ruby/object:Gem::Dependency
42
48
  name: rack-test
43
49
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +92,14 @@ dependencies:
86
92
  requirements:
87
93
  - - '='
88
94
  - !ruby/object:Gem::Version
89
- version: 4.8.0
95
+ version: 4.16.1
90
96
  type: :development
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
100
  - - '='
95
101
  - !ruby/object:Gem::Version
96
- version: 4.8.0
102
+ version: 4.16.1
97
103
  description: Rack middleware to log requests in logstash json event format. Like
98
104
  the logstasher gem, but for rack apps.
99
105
  email:
@@ -103,8 +109,10 @@ extensions: []
103
109
  extra_rdoc_files: []
104
110
  files:
105
111
  - ".github/dependabot.yml"
112
+ - ".github/workflows/autorelease.yml"
106
113
  - ".github/workflows/ci.yml"
107
114
  - ".gitignore"
115
+ - ".govuk_dependabot_merger.yml"
108
116
  - ".rspec"
109
117
  - ".rubocop.yml"
110
118
  - ".ruby-version"
@@ -132,14 +140,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
132
140
  requirements:
133
141
  - - ">="
134
142
  - !ruby/object:Gem::Version
135
- version: '2.7'
143
+ version: '3.0'
136
144
  required_rubygems_version: !ruby/object:Gem::Requirement
137
145
  requirements:
138
146
  - - ">="
139
147
  - !ruby/object:Gem::Version
140
148
  version: '0'
141
149
  requirements: []
142
- rubygems_version: 3.3.24
150
+ rubygems_version: 3.5.7
143
151
  signing_key:
144
152
  specification_version: 4
145
153
  summary: Rack middleware to log requests in logstash json event format