gds-api-adapters 28.1.1 → 28.2.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
  SHA1:
3
- metadata.gz: e902ac4880261bd833cfaaf435bb6c6887337f7f
4
- data.tar.gz: 078679c8c239e9f431da180ebf87a205a8683f9b
3
+ metadata.gz: b9723069f15e906994434db9e846a9d312f7bdb1
4
+ data.tar.gz: 04a3f4851097ca03fbb130f14f32380fa9ee9d0e
5
5
  SHA512:
6
- metadata.gz: eca01f58f14c1e86a7c947480ede2b024fd5e8d179442388b9f3336d3d18e34f207c897740a40a5f1f566ab079c4150bb61b531115a9ce8a99607063b132d7e6
7
- data.tar.gz: b02e5d2a3f9696d48d7ca587b86ea132a4186ecf5b74029bf4a9487b0681c389ccd999546c7924bda4c38932d369c22401294e2e2a595bec2501567c97ffb5bf
6
+ metadata.gz: da34eae72d2c0fcf451b4db6376aaa74ac268bd1fee74ef6ad541727e626855a7497e34934f77345c09875a9ff873c06b4de6fbc58c4d4c5ac5d0772230c0fbc
7
+ data.tar.gz: 7fb8ebf8449dc9eeb9c63f26d8eb19bc4203d2056ceffca321d776e64ad0b06d371ab262cacc4bca683c3b16c3e1345efbbcbfb6cd3c51e914582a8fadbd66e1
data/README.md CHANGED
@@ -31,15 +31,19 @@ something that actually logs:
31
31
 
32
32
  ## Middleware for request tracing
33
33
 
34
- We set a unique header at the cache level called `Govuk-Request-Id`. In order
35
- to serve a user's request, if apps make API requests they should pass on this
36
- header, so that we can trace a request across the entire GOV.UK stack.
34
+ We set a unique header at the cache level called `Govuk-Request-Id`, and also
35
+ set a header called `Govuk-Original-Url` to identify the original URL
36
+ requested. If apps make API requests in order to server a user's request, they
37
+ should pass on these headers, so that we can trace requests across the entire
38
+ GOV.UK stack.
37
39
 
38
- `GdsApi::GovukHeaderSniffer` middleware takes care of this. This gem contains
39
- a railtie that configures this middleware for Rails apps without extra effort.
40
- Other Rack-based apps should opt-in by adding this line to your `config.ru`:
40
+ The `GdsApi::GovukHeaderSniffer` middleware takes care of this. This gem
41
+ contains a railtie that configures this middleware for Rails apps without extra
42
+ effort. Other Rack-based apps should opt-in by adding these lines to your
43
+ `config.ru`:
41
44
 
42
45
  use GdsApi::GovukHeaderSniffer, 'HTTP_GOVUK_REQUEST_ID'
46
+ use GdsApi::GovukHeaderSniffer, 'HTTP_GOVUK_ORIGINAL_URL'
43
47
 
44
48
  ## Middleware for identifying authenticated users
45
49
 
@@ -7,6 +7,11 @@ module GdsApi
7
7
  app.middleware.use GdsApi::GovukHeaderSniffer, 'HTTP_GOVUK_REQUEST_ID'
8
8
  end
9
9
 
10
+ initializer "gds_api.initialize_govuk_original_url_sniffer" do |app|
11
+ Rails.logger.info "Using middleware GdsApi::GovukHeaderSniffer to sniff for GOVUK-Original-Url header"
12
+ app.middleware.use GdsApi::GovukHeaderSniffer, 'HTTP_GOVUK_ORIGINAL_URL'
13
+ end
14
+
10
15
  initializer "gds_api.initialize_govuk_authenticated_user_sniffer" do |app|
11
16
  Rails.logger.info "Using middleware GdsApi::GovukHeaderSniffer to sniff for X-GOVUK-Authenticated-User header"
12
17
  app.middleware.use GdsApi::GovukHeaderSniffer, 'HTTP_X_GOVUK_AUTHENTICATED_USER'
@@ -1,3 +1,3 @@
1
1
  module GdsApi
2
- VERSION = '28.1.1'
2
+ VERSION = '28.2.0'
3
3
  end
@@ -702,13 +702,17 @@ class JsonClientTest < MiniTest::Spec
702
702
  end
703
703
 
704
704
  def test_govuk_headers_are_included_in_requests_if_present
705
- GdsApi::GovukHeaders.set_header(:govuk_request_id, "12345") # set by middleware GovukHeaderSniffer
705
+ # set headers which would be set by middleware GovukHeaderSniffer
706
+ GdsApi::GovukHeaders.set_header(:govuk_request_id, "12345")
707
+ GdsApi::GovukHeaders.set_header(:govuk_original_url, "http://example.com")
708
+
706
709
  stub_request(:get, "http://some.other.endpoint/some.json").to_return(:status => 200)
707
710
 
708
711
  GdsApi::JsonClient.new.get_json("http://some.other.endpoint/some.json")
709
712
 
710
713
  assert_requested(:get, %r{/some.json}) do |request|
711
- request.headers['Govuk-Request-Id'] == '12345'
714
+ request.headers['Govuk-Request-Id'] == '12345' &&
715
+ request.headers['Govuk-Original-Url'] == 'http://example.com'
712
716
  end
713
717
  end
714
718
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gds-api-adapters
3
3
  version: !ruby/object:Gem::Version
4
- version: 28.1.1
4
+ version: 28.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Stewart
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-18 00:00:00.000000000 Z
11
+ date: 2016-02-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: plek