Class: Sidekiq::EncryptedArgs::ServerMiddleware

Inherits:
Object
  • Object
show all
Defined in:
lib/sidekiq/encrypted_args/server_middleware.rb

Instance Method Summary collapse

Instance Method Details

#call(worker, job, queue) ⇒ Object

Sidekiq server middleware for encrypting arguments on jobs for workers with encrypted_args set in the sidekiq_options.



8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/sidekiq/encrypted_args/server_middleware.rb', line 8

def call(worker, job, queue)
  encrypted_args = EncryptedArgs.send(:encrypted_args_option, worker.class)
  if encrypted_args
    new_args = []
    job["args"].each_with_index do |value, position|
      value = EncryptedArgs.decrypt(value) if encrypted_args[position]
      new_args << value
    end
    job["args"] = new_args
  end

  yield
end