Class: Spikard::Grpc::Handler

Inherits:
Object
  • Object
show all
Defined in:
lib/spikard/grpc.rb

Overview

Base class for gRPC handlers

Subclass this to implement gRPC service handlers. Override #handle_request to process incoming requests.

Examples:

Implementing a handler

class MyServiceHandler < Spikard::Grpc::Handler
  def handle_request(request)
    case request.method_name
    when 'MethodOne'
      # Handle MethodOne
      req = MyPackage::MethodOneRequest.decode(request.payload)
      resp = MyPackage::MethodOneResponse.new(...)
      Spikard::Grpc::Response.new(payload: MyPackage::MethodOneResponse.encode(resp))
    when 'MethodTwo'
      # Handle MethodTwo
      # ...
    else
      raise "Unknown method: #{request.method_name}"
    end
  end
end

Instance Method Summary collapse

Instance Method Details

#handle_request(request) ⇒ Spikard::Grpc::Response

Handle a gRPC request

This method must be overridden by subclasses to implement the actual request handling logic.

Parameters:

Returns:

Raises:

  • (NotImplementedError)

    if not overridden by subclass



126
127
128
# File 'lib/spikard/grpc.rb', line 126

def handle_request(request)
  raise NotImplementedError, "#{self.class}#handle_request must be implemented"
end