HEX
Server: Apache
System: Linux sg241.singhost.net 2.6.32-896.16.1.lve1.4.51.el6.x86_64 #1 SMP Wed Jan 17 13:19:23 EST 2018 x86_64
User: honghock (909)
PHP: 8.0.30
Disabled: passthru,system,shell_exec,show_source,exec,popen,proc_open
Upload Files
File: //usr/lib/ruby/site_ruby/1.8/puppet/indirector/file_bucket_file/selector.rb
require 'puppet/indirector/code'

module Puppet::FileBucketFile
  class Selector < Puppet::Indirector::Code
    desc "Select the terminus based on the request"

    def select(request)
      if request.protocol == 'https'
        :rest
      else
        :file
      end
    end

    def get_terminus(request)
      indirection.terminus(select(request))
    end

    def head(request)
      get_terminus(request).head(request)
    end

    def find(request)
      get_terminus(request).find(request)
    end

    def save(request)
      get_terminus(request).save(request)
    end

    def search(request)
      get_terminus(request).search(request)
    end

    def destroy(request)
      get_terminus(request).destroy(request)
    end

    def authorized?(request)
      terminus = get_terminus(request)
      if terminus.respond_to?(:authorized?)
        terminus.authorized?(request)
      else
        true
      end
    end

    def validate_key(request)
      get_terminus(request).validate(request)
    end
  end
end