Module: Legion::Extensions::Lakera::Runners::Guard

Extended by:
Helpers::Client
Includes:
Helpers::Lex
Included in:
Client
Defined in:
lib/legion/extensions/lakera/runners/guard.rb

Constant Summary

Constants included from Helpers::Client

Helpers::Client::DEFAULT_HOST, Helpers::Client::REGIONS

Instance Method Summary collapse

Methods included from Helpers::Client

client, self_hosted_client

Instance Method Details

#check(messages:, api_key:, project_id: nil, breakdown: true, payload: false, metadata: {}, dev_info: false) ⇒ Object



13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/legion/extensions/lakera/runners/guard.rb', line 13

def check(messages:, api_key:, project_id: nil, breakdown: true,
          payload: false, metadata: {}, dev_info: false, **)
  body = { messages: messages }
  body[:project_id] = project_id if project_id
  body[:breakdown]  = breakdown
  body[:payload]    = payload
  body[:metadata]   =  unless .empty?
  body[:dev_info]   = dev_info if dev_info

  response = client(api_key: api_key, **).post('/v2/guard', body)
  Helpers::Response.handle_response(response)
end

#check_detailed(messages:, api_key:, project_id: nil, metadata: {}, dev_info: false) ⇒ Object



26
27
28
29
30
31
32
33
34
# File 'lib/legion/extensions/lakera/runners/guard.rb', line 26

def check_detailed(messages:, api_key:, project_id: nil, metadata: {}, dev_info: false, **)
  body = { messages: messages }
  body[:project_id] = project_id if project_id
  body[:metadata]   =  unless .empty?
  body[:dev_info]   = dev_info if dev_info

  response = client(api_key: api_key, **).post('/v2/guard/results', body)
  Helpers::Response.handle_response(response)
end