Class: RapidVaults::GRPC

Inherits:
Rapidvaults::RapidVaults::Service show all
Defined in:
lib/rapid-vaults/grpc.rb

Overview

provides a grpc server

Instance Method Summary collapse

Instance Method Details

#gpg_decrypt(undecrypted, _call) ⇒ Object

grpc api for gpg decrypt



61
62
63
64
65
66
67
# File 'lib/rapid-vaults/grpc.rb', line 61

def gpg_decrypt(undecrypted, _call)
  settings = {}
  settings[:file] = undecrypted.text
  settings[:pw] = undecrypted.password
  settings_process(settings)
  Decrypt.gpgme(settings)
end

#gpg_encrypt(unencrypted, _call) ⇒ Object

grpc api for encrypt gpg



40
41
42
43
44
45
46
# File 'lib/rapid-vaults/grpc.rb', line 40

def gpg_encrypt(unencrypted, _call)
  settings = {}
  settings[:file] = unencrypted.text
  settings[:pw] = unencrypted.password
  settings_process(settings)
  Encrypt.gpgme(settings)
end

#gpg_generate(geninputs, _call) ⇒ Object

grpc api for generate gpg



22
23
24
25
26
# File 'lib/rapid-vaults/grpc.rb', line 22

def gpg_generate(geninputs, _call)
  settings = geninputs.to_hash
  settings_process(settings)
  Generate.gpgme(settings)
end

#server(addr = '0.0.0.0:8080') ⇒ Object

start the server



7
8
9
10
11
12
# File 'lib/rapid-vaults/grpc.rb', line 7

def server(addr = '0.0.0.0:8080')
  server = GRPC::RpcServer.new
  server.add_http2_port(addr, :this_port_is_insecure)
  server.handle(RapidVaults.new)
  server.run_till_terminated
end

#ssl_decrypt(undecrypted, _call) ⇒ Object

grpc api for ssl decrypt



49
50
51
52
53
54
55
56
57
58
# File 'lib/rapid-vaults/grpc.rb', line 49

def ssl_decrypt(undecrypted, _call)
  settings = {}
  settings[:file] = undecrypted.text
  settings[:key] = undecrypted.key
  settings[:nonce] = undecrypted.nonce
  settings[:tag] = undecrypted.tag
  settings[:pw] = undecrypted.password
  settings_process(settings)
  Decrypt.openssl(settings)
end

#ssl_encrypt(unencrypted, _call) ⇒ Object

grpc api for encrypt ssl



29
30
31
32
33
34
35
36
37
# File 'lib/rapid-vaults/grpc.rb', line 29

def ssl_encrypt(unencrypted, _call)
  settings = {}
  settings[:file] = unencrypted.text
  settings[:key] = unencrypted.key
  settings[:nonce] = unencrypted.nonce
  settings[:pw] = unencrypted.password
  settings_process(settings)
  Encrypt.openssl(settings)
end

#ssl_generate(geninputs, _call) ⇒ Object

grpc api for generate openssl



15
16
17
18
19
# File 'lib/rapid-vaults/grpc.rb', line 15

def ssl_generate(geninputs, _call)
  settings = geninputs.to_hash
  settings_process(settings)
  Generate.openssl(settings)
end