smart_proxy_dynflow 0.8.1 → 0.8.2
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/smart_proxy_dynflow/api.rb +9 -3
- data/lib/smart_proxy_dynflow/core.rb +2 -2
- data/lib/smart_proxy_dynflow/version.rb +1 -1
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 6444ef5fcad649ae35d106b149f2832ea50c4cbbf9d6a1be7575332e9585fe8b
         | 
| 4 | 
            +
              data.tar.gz: 587ed9c21c9c0dd3e320e29c28eb3cf76904aa3222c901979fc8e29023630f16
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 4b27f6de4ae4353b6fdb45334b920b66bea2de0dce26af6c4f52855e9e28641acd9ec917e8d313b8aafb9c70f7077fa9223417d943e9ac2a30d6c05995d66e0a
         | 
| 7 | 
            +
              data.tar.gz: e0877874c73541ab78d2957693202959bbffce5771ff71c9f1bee0664c5f78bf180addece3668206662e70cf08481d3586ff88f82eef3fc293d9a837ccfca75d
         | 
| @@ -36,7 +36,8 @@ module Proxy | |
| 36 36 |  | 
| 37 37 | 
             
                  post "/tasks/launch/?" do
         | 
| 38 38 | 
             
                    params = MultiJson.load(request.body.read)
         | 
| 39 | 
            -
                     | 
| 39 | 
            +
                    first_params = params['input']&.values&.first || {}
         | 
| 40 | 
            +
                    launcher = launcher_class(params).new(world, callback_host(first_params, request), params.fetch('options', {}))
         | 
| 40 41 | 
             
                    launcher.launch!(params['input'])
         | 
| 41 42 | 
             
                    launcher.results.to_json
         | 
| 42 43 | 
             
                  end
         | 
| @@ -72,8 +73,13 @@ module Proxy | |
| 72 73 | 
             
                  private
         | 
| 73 74 |  | 
| 74 75 | 
             
                  def callback_host(params, request)
         | 
| 75 | 
            -
                    params.fetch('action_input', {})['proxy_url'] ||
         | 
| 76 | 
            -
             | 
| 76 | 
            +
                    params.fetch('action_input', {})['proxy_url'] || callback_host_from_env(request)
         | 
| 77 | 
            +
                  end
         | 
| 78 | 
            +
             | 
| 79 | 
            +
                  def callback_host_from_env(request)
         | 
| 80 | 
            +
                    protocol = %w[yes on 1].include?(request.env['HTTPS'].to_s) ? 'https' : 'http'
         | 
| 81 | 
            +
                    host = request.env.values_at('HTTP_X_FORWARDED_FOR', 'HTTP_HOST').compact.first
         | 
| 82 | 
            +
                    "#{protocol}://#{host}"
         | 
| 77 83 | 
             
                  end
         | 
| 78 84 |  | 
| 79 85 | 
             
                  def launcher_class(params)
         | 
| @@ -28,8 +28,8 @@ module Proxy::Dynflow | |
| 28 28 |  | 
| 29 29 | 
             
                  db_file = Settings.instance.database
         | 
| 30 30 | 
             
                  if db_file.nil? || db_file.empty?
         | 
| 31 | 
            -
                    Log.instance. | 
| 32 | 
            -
                                      " | 
| 31 | 
            +
                    Log.instance.info "Using in-memory database (default behaviour). Restart will drop all dynflow data. " \
         | 
| 32 | 
            +
                                      "To change this behaviour configure setting 'database'."
         | 
| 33 33 | 
             
                  else
         | 
| 34 34 | 
             
                    FileUtils.mkdir_p(File.dirname(db_file))
         | 
| 35 35 | 
             
                    db_conn_string += "/#{db_file}"
         | 
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: smart_proxy_dynflow
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 0.8. | 
| 4 | 
            +
              version: 0.8.2
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Ivan Nečas
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: bin
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-09-27 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies:
         | 
| 13 13 | 
             
            - !ruby/object:Gem::Dependency
         | 
| 14 14 | 
             
              name: dynflow
         | 
| @@ -208,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 208 208 | 
             
                - !ruby/object:Gem::Version
         | 
| 209 209 | 
             
                  version: '0'
         | 
| 210 210 | 
             
            requirements: []
         | 
| 211 | 
            -
            rubygems_version: 3. | 
| 211 | 
            +
            rubygems_version: 3.3.20
         | 
| 212 212 | 
             
            signing_key:
         | 
| 213 213 | 
             
            specification_version: 4
         | 
| 214 214 | 
             
            summary: Dynflow runtime for Foreman smart proxy
         |