class Seahorse::Client::Plugins::Endpoint::Handler

def apply_path_params(uri, context)

def apply_path_params(uri, context)
  path = uri.path.sub(/\/$/, '')
  path += context.operation.http_request_uri.split('?')[0]
  input = context.operation.input
  uri.path = path.gsub(/{\w+\+?}/) do |placeholder|
    if placeholder.include?('+')
      placeholder = placeholder[1..-3]
      greedy = true
    else
      placeholder = placeholder[1..-2]
    end
    name, shape = input.member_by_location_name(placeholder)
    param = context.params[name]
    if greedy
      param = param.gsub(/[^\/]+/) { |v| escape(v) }
    else
      escape(param)
    end
  end
end