Skip to content

Initial import of Twingly::HTTP#1

Merged
dentarg merged 3 commits intomasterfrom
initial-import
Nov 7, 2019
Merged

Initial import of Twingly::HTTP#1
dentarg merged 3 commits intomasterfrom
initial-import

Conversation

@dentarg
Copy link
Contributor

@dentarg dentarg commented Nov 6, 2019

Imported from Seikan, tried to change as little as possible:

$ diff -u seikan/lib/twingly/http.rb twingly-http/lib/twingly/http.rb
--- seikan/lib/twingly/http.rb  2019-11-06 13:43:56.000000000 +0100
+++ twingly-http/lib/twingly/http.rb  2019-11-06 16:09:46.000000000 +0100
@@ -2,11 +2,10 @@

 require "net/http"
 require "faraday"
-require "request_store"

 require_relative "../faraday/logfmt_logger"
 require_relative "../faraday/url_size_limit"
-require_relative "../heroku"
+require_relative "heroku"
 require_relative "string_utilities"

 module Twingly
@@ -36,12 +35,14 @@
       attr_writer :retry_interval
       attr_writer :on_retry_callback
       attr_writer :max_url_size_bytes
+      attr_writer :request_id

       attr_accessor :retryable_exceptions

       def initialize(logger:, base_user_agent:)
         @logger          = logger
         @base_user_agent = base_user_agent
+        @request_id      = nil

         @http_timeout      = DEFAULT_HTTP_TIMEOUT
         @http_open_timeout = DEFAULT_HTTP_OPEN_TIMEOUT
@@ -123,8 +124,10 @@
                           exceptions: @retryable_exceptions,
                           methods: [], # empty [] forces Faraday to run retry_if
                           retry_if: retry_if
-          faraday.response :logfmt_logger,
-                           @logger.dup, headers: true, bodies: true
+          faraday.response :logfmt_logger, @logger.dup,
+                           headers: true,
+                           bodies: true,
+                           request_id: @request_id
           faraday.adapter Faraday.default_adapter
           faraday.headers[:user_agent] = user_agent
         end
@@ -175,13 +178,9 @@

       def default_headers
         {
-          "X-Request-Id": request_id,
+          "X-Request-Id": @request_id,
         }.delete_if { |_name, value| value.to_s.strip.empty? }
       end
-
-      def request_id
-        RequestStore.store[:request_id]
-      end
     end

     class Response
$ diff -u seikan/lib/faraday/logfmt_logger/middleware.rb twingly-http/lib/faraday/logfmt_logger/middleware.rb
--- seikan/lib/faraday/logfmt_logger/middleware.rb  2019-11-06 13:43:56.000000000 +0100
+++ twingly-http/lib/faraday/logfmt_logger/middleware.rb  2019-11-06 13:12:18.000000000 +0100
@@ -63,12 +63,12 @@
       private

       def request_id
-        RequestStore.store[:request_id]
+        @options[:request_id]
       end

       def app_metadata
         {
-          "release": Heroku.release_version,
+          "release": Twingly::HTTP::Heroku.release_version,
         }
       end

@dentarg dentarg self-assigned this Nov 6, 2019
@dentarg dentarg requested a review from roback November 6, 2019 15:42
Imported from Seikan, tried to change as little as possible.
Trying to workaround this problem from https://travis-ci.com/twingly/twingly-http/jobs/253699575 (ruby-head)

    $ travis_retry gem update --system
    Updating rubygems-update
    Fetching rubygems-update-3.1.0.pre2.gem
    Successfully installed rubygems-update-3.1.0.pre2
    Installing RubyGems 3.1.0.pre2
      Successfully built RubyGem
      Name: bundler
      Version: 2.1.0.pre.2
      File: bundler-2.1.0.pre.2.gem
    bundler's executable "bundle" conflicts with /home/travis/.rvm/rubies/ruby-head/bin/bundle
    Overwrite the executable? [yN]

    No output has been received in the last 10m0s, this potentially indicates a stalled build or something wrong with the build itself.
    Check the details on how to adjust your build configuration on: https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received
This reverts commit aca4803.

--force didn't help the problem, I guess it is a bug in Ruby/RubyGems
(maybe going from 3.1.0.pre1 to 3.1.0.pre2 isn't supported).
@dentarg dentarg merged commit 1120612 into master Nov 7, 2019
@dentarg dentarg deleted the initial-import branch November 7, 2019 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants