roadrunner-server / roadrunner

🤯 High-performance PHP application server, process manager written in Go and powered with plugins
https://docs.roadrunner.dev
MIT License
7.95k stars 413 forks source link

[💡 FEATURE REQUEST]: gRPC plugin custom interceptors #973

Open rustatian opened 2 years ago

rustatian commented 2 years ago

Plugin

GRPC

I have an idea!

Like we have middleware in the HTTP plugin, will be nice to have the custom interceptors for the grpc plugin.

# GRPC service configuration
grpc:
  # socket to listen
  listen: "tcp://127.0.0.1:9005"
  interceptors: ["prometheus", "logger" ] <---------

  # proto root file
  proto: "proto/service/service.proto"
  max_send_msg_size: 50
  max_recv_msg_size: 50
  max_connection_idle: 0s
  max_connection_age: 0s
  max_connection_age_grace: 0s
  max_concurrent_streams: 10
  ping_time: 1s
  timeout: 200s

The plugin should support the interceptors from the grpc-go-ecosystem as well.

rustatian commented 1 year ago

Done: https://github.com/roadrunner-server/grpc/blob/master/common/interfaces.go#L14 Docs are coming.

rauanmayemir commented 2 months ago

@rustatian Pinging to let you know that config part for this doesn’t exist yet. There is currently no way to plug custom interceptors.

rustatian commented 2 months ago

Ah yeah, forgot to update a configuration. Will be released in 2024.3.