upfluence-utils 0.11.3 → 0.11.4
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/upfluence/http/middleware/request_stapler.rb +16 -0
 - data/lib/upfluence/http/server.rb +31 -12
 - data/lib/upfluence/utils/version.rb +1 -1
 - metadata +3 -2
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA256:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: b5084c4d4ec0053296da08af0f701e3533c3c04e097c58bd48d674ab6ce02f15
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 04dff5174d8d510c22c8236f54d1033100bdde9102955e66bb28e25e8c94146e
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 10db3f2f7d9e1ae72d51ae9f6007d994b6e1b7d86752a68c94d212c1bb894360c6bf7f7f88857afb67c8fe780077f72d251499b0146d32583aa4686f4a24568f
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 811cba7d199587b6d65ebac7a613c23e47f159c5e581d1d09340c34c76a684a8b1d1ae6a56f1a97eae93dabc717673246d8a65805aa35d32fd94834da2fe1cd5
         
     | 
| 
         @@ -14,23 +14,26 @@ require 'upfluence/http/middleware/application_headers' 
     | 
|
| 
       14 
14 
     | 
    
         
             
            require 'upfluence/http/middleware/handle_exception'
         
     | 
| 
       15 
15 
     | 
    
         
             
            require 'upfluence/http/middleware/prometheus'
         
     | 
| 
       16 
16 
     | 
    
         
             
            require 'upfluence/http/middleware/cors'
         
     | 
| 
      
 17 
     | 
    
         
            +
            require 'upfluence/http/middleware/request_stapler'
         
     | 
| 
       17 
18 
     | 
    
         | 
| 
       18 
19 
     | 
    
         
             
            module Upfluence
         
     | 
| 
       19 
20 
     | 
    
         
             
              module HTTP
         
     | 
| 
       20 
21 
     | 
    
         
             
                class Server
         
     | 
| 
      
 22 
     | 
    
         
            +
                  REQUEST_CONTEXT_KEY = :uhtt_request_context
         
     | 
| 
      
 23 
     | 
    
         
            +
                  DEFAULT_MIDDLEWARES = []
         
     | 
| 
       21 
24 
     | 
    
         
             
                  DEFAULT_OPTIONS = {
         
     | 
| 
       22 
     | 
    
         
            -
                    server: 
     | 
| 
       23 
     | 
    
         
            -
                    Port: 
     | 
| 
       24 
     | 
    
         
            -
                    Host: 
     | 
| 
       25 
     | 
    
         
            -
                    threaded: 
     | 
| 
       26 
     | 
    
         
            -
                    interfaces: 
     | 
| 
       27 
     | 
    
         
            -
                    push_gateway_url: 
     | 
| 
      
 25 
     | 
    
         
            +
                    server:                :puma,
         
     | 
| 
      
 26 
     | 
    
         
            +
                    Port:                  ENV.fetch('PORT', 8080),
         
     | 
| 
      
 27 
     | 
    
         
            +
                    Host:                  '0.0.0.0',
         
     | 
| 
      
 28 
     | 
    
         
            +
                    threaded:              true,
         
     | 
| 
      
 29 
     | 
    
         
            +
                    interfaces:            [],
         
     | 
| 
      
 30 
     | 
    
         
            +
                    push_gateway_url:      ENV.fetch('PUSH_GATEWAY_URL', nil),
         
     | 
| 
       28 
31 
     | 
    
         
             
                    push_gateway_interval: 15, # sec
         
     | 
| 
       29 
     | 
    
         
            -
                    app_name: 
     | 
| 
       30 
     | 
    
         
            -
                    unit_name: 
     | 
| 
       31 
     | 
    
         
            -
                    base_processor_klass: 
     | 
| 
       32 
     | 
    
         
            -
                    base_handler_klass: 
     | 
| 
       33 
     | 
    
         
            -
                    debug: 
     | 
| 
      
 32 
     | 
    
         
            +
                    app_name:              ENV.fetch('APP_NAME', 'uhttp-rb-server'),
         
     | 
| 
      
 33 
     | 
    
         
            +
                    unit_name:             ENV.fetch('UNIT_NAME','uhttp-rb-server-anonymous'),
         
     | 
| 
      
 34 
     | 
    
         
            +
                    base_processor_klass:  nil,
         
     | 
| 
      
 35 
     | 
    
         
            +
                    base_handler_klass:    nil,
         
     | 
| 
      
 36 
     | 
    
         
            +
                    debug:                 ENV.fetch('DEBUG', nil)
         
     | 
| 
       34 
37 
     | 
    
         
             
                  }
         
     | 
| 
       35 
38 
     | 
    
         | 
| 
       36 
39 
     | 
    
         
             
                  def initialize(options = {}, &block)
         
     | 
| 
         @@ -43,6 +46,7 @@ module Upfluence 
     | 
|
| 
       43 
46 
     | 
    
         
             
                    end
         
     | 
| 
       44 
47 
     | 
    
         | 
| 
       45 
48 
     | 
    
         
             
                    @builder = Builder.new do
         
     | 
| 
      
 49 
     | 
    
         
            +
                      use Middleware::RequestStapler
         
     | 
| 
       46 
50 
     | 
    
         
             
                      use Middleware::Logger
         
     | 
| 
       47 
51 
     | 
    
         
             
                      use Middleware::Prometheus
         
     | 
| 
       48 
52 
     | 
    
         
             
                      use Middleware::ApplicationHeaders, base_handler
         
     | 
| 
         @@ -55,6 +59,11 @@ module Upfluence 
     | 
|
| 
       55 
59 
     | 
    
         
             
                      use Rack::ETag
         
     | 
| 
       56 
60 
     | 
    
         
             
                      use Middleware::CORS if Upfluence.env.development?
         
     | 
| 
       57 
61 
     | 
    
         | 
| 
      
 62 
     | 
    
         
            +
                      DEFAULT_MIDDLEWARES.each do |m|
         
     | 
| 
      
 63 
     | 
    
         
            +
                        m = [m] unless m.is_a?(Array)
         
     | 
| 
      
 64 
     | 
    
         
            +
                        use(*m)
         
     | 
| 
      
 65 
     | 
    
         
            +
                      end
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
       58 
67 
     | 
    
         
             
                      map '/healthcheck' do
         
     | 
| 
       59 
68 
     | 
    
         
             
                        run(opts[:healthcheck_endpoint] || Endpoint::Healthcheck.new)
         
     | 
| 
       60 
69 
     | 
    
         
             
                      end
         
     | 
| 
         @@ -87,6 +96,16 @@ module Upfluence 
     | 
|
| 
       87 
96 
     | 
    
         
             
                    end
         
     | 
| 
       88 
97 
     | 
    
         
             
                  end
         
     | 
| 
       89 
98 
     | 
    
         | 
| 
      
 99 
     | 
    
         
            +
                  class << self
         
     | 
| 
      
 100 
     | 
    
         
            +
                    def request
         
     | 
| 
      
 101 
     | 
    
         
            +
                      Thread.current[REQUEST_CONTEXT_KEY]
         
     | 
| 
      
 102 
     | 
    
         
            +
                    end
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
                    def request=(req)
         
     | 
| 
      
 105 
     | 
    
         
            +
                      Thread.current[REQUEST_CONTEXT_KEY] = req
         
     | 
| 
      
 106 
     | 
    
         
            +
                    end
         
     | 
| 
      
 107 
     | 
    
         
            +
                  end
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
       90 
109 
     | 
    
         
             
                  private
         
     | 
| 
       91 
110 
     | 
    
         | 
| 
       92 
111 
     | 
    
         
             
                  def run_prometheus_exporter
         
     | 
| 
         @@ -101,7 +120,7 @@ module Upfluence 
     | 
|
| 
       101 
120 
     | 
    
         | 
| 
       102 
121 
     | 
    
         
             
                      begin
         
     | 
| 
       103 
122 
     | 
    
         
             
                        push.replace Prometheus::Client.registry
         
     | 
| 
       104 
     | 
    
         
            -
                      rescue => e
         
     | 
| 
      
 123 
     | 
    
         
            +
                      rescue StandardError => e
         
     | 
| 
       105 
124 
     | 
    
         
             
                        Upfluence.error_logger.notify(e)
         
     | 
| 
       106 
125 
     | 
    
         
             
                      end
         
     | 
| 
       107 
126 
     | 
    
         
             
                    end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,14 +1,14 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: upfluence-utils
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 0.11. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 0.11.4
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Upfluence
         
     | 
| 
       8 
8 
     | 
    
         
             
            autorequire:
         
     | 
| 
       9 
9 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       10 
10 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       11 
     | 
    
         
            -
            date: 2023- 
     | 
| 
      
 11 
     | 
    
         
            +
            date: 2023-06-05 00:00:00.000000000 Z
         
     | 
| 
       12 
12 
     | 
    
         
             
            dependencies:
         
     | 
| 
       13 
13 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       14 
14 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -267,6 +267,7 @@ files: 
     | 
|
| 
       267 
267 
     | 
    
         
             
            - lib/upfluence/http/middleware/handle_exception.rb
         
     | 
| 
       268 
268 
     | 
    
         
             
            - lib/upfluence/http/middleware/logger.rb
         
     | 
| 
       269 
269 
     | 
    
         
             
            - lib/upfluence/http/middleware/prometheus.rb
         
     | 
| 
      
 270 
     | 
    
         
            +
            - lib/upfluence/http/middleware/request_stapler.rb
         
     | 
| 
       270 
271 
     | 
    
         
             
            - lib/upfluence/http/server.rb
         
     | 
| 
       271 
272 
     | 
    
         
             
            - lib/upfluence/logger.rb
         
     | 
| 
       272 
273 
     | 
    
         
             
            - lib/upfluence/mixin/html_scrubbing.rb
         
     |