com.improving.grpc_rest_gateway.runtime.handlers

Members list

Type members

Classlikes

@ChannelHandler$$Sharable
abstract class GrpcGatewayHandler(channel: ManagedChannel)(implicit ec: ExecutionContext) extends ChannelInboundHandlerAdapter, PathMatchingSupport

Attributes

Supertypes
class ChannelInboundHandlerAdapter
trait ChannelInboundHandler
class ChannelHandlerAdapter
trait ChannelHandler
class Object
trait Matchable
class Any
Show all
class MethodNotFoundHandler extends ChannelInboundHandlerAdapter

Attributes

Supertypes
class ChannelInboundHandlerAdapter
trait ChannelInboundHandler
class ChannelHandlerAdapter
trait ChannelHandler
class Object
trait Matchable
class Any
Show all

Helper trait to make URI path matching. This is done to make testing easier.

Helper trait to make URI path matching. This is done to make testing easier.

Our aim is to match given incoming URL and match it to configured path in the protobuf.

There are two cases:

  1. When there is no path element, this is easy case we can have exact match, for example, /v1/messages.
  2. When there is path element, we can not have exact match just by comparing two strings, for example, if configured value is /v1/messages/{message_id}/users/{user_id} and runtime value is /v1/messages/1/users/1.

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
@ChannelHandler$$Sharable
class SwaggerHandler(services: Seq[GrpcGatewayHandler]) extends ChannelInboundHandlerAdapter

Attributes

Companion
object
Supertypes
class ChannelInboundHandlerAdapter
trait ChannelInboundHandler
class ChannelHandlerAdapter
trait ChannelHandler
class Object
trait Matchable
class Any
Show all

Value members

Concrete methods

def buildFullHttpResponse(requestMsg: HttpMessage, responseBody: String, responseStatus: HttpResponseStatus, responseContentType: String): FullHttpResponse

Concrete fields

val GRPC_HTTP_CODE_MAP: Map[Int, HttpResponseStatus]