meter/handler: move to go.unistack.org/micro-meter-handler/v3 #189
| @@ -1,12 +0,0 @@ | |||||||
| package meter |  | ||||||
|  |  | ||||||
| //go:generate sh -c "protoc -I./handler -I../ -I$(go list -f '{{ .Dir }}' -m go.unistack.org/micro-proto/v3) --go-micro_out='components=micro|http|server',standalone=false,debug=true,paths=source_relative:./handler handler/handler.proto" |  | ||||||
|  |  | ||||||
| import ( |  | ||||||
|  |  | ||||||
| 	// import required packages |  | ||||||
| 	_ "go.unistack.org/micro-proto/v3/api" |  | ||||||
|  |  | ||||||
| 	// import required packages |  | ||||||
| 	_ "go.unistack.org/micro-proto/v3/openapiv3" |  | ||||||
| ) |  | ||||||
| @@ -1,67 +0,0 @@ | |||||||
| package handler // import "go.unistack.org/micro/v3/meter/handler" |  | ||||||
|  |  | ||||||
| import ( |  | ||||||
| 	"bytes" |  | ||||||
| 	"context" |  | ||||||
|  |  | ||||||
| 	"go.unistack.org/micro/v3/codec" |  | ||||||
| 	"go.unistack.org/micro/v3/errors" |  | ||||||
| 	"go.unistack.org/micro/v3/meter" |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| // guard to fail early |  | ||||||
| var _ MeterServiceServer = &Handler{} |  | ||||||
|  |  | ||||||
| type Handler struct { |  | ||||||
| 	opts Options |  | ||||||
| } |  | ||||||
|  |  | ||||||
| type Option func(*Options) |  | ||||||
|  |  | ||||||
| type Options struct { |  | ||||||
| 	Meter        meter.Meter |  | ||||||
| 	Name         string |  | ||||||
| 	MeterOptions []meter.Option |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func Meter(m meter.Meter) Option { |  | ||||||
| 	return func(o *Options) { |  | ||||||
| 		o.Meter = m |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func Name(name string) Option { |  | ||||||
| 	return func(o *Options) { |  | ||||||
| 		o.Name = name |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func MeterOptions(opts ...meter.Option) Option { |  | ||||||
| 	return func(o *Options) { |  | ||||||
| 		o.MeterOptions = append(o.MeterOptions, opts...) |  | ||||||
| 	} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func NewOptions(opts ...Option) Options { |  | ||||||
| 	options := Options{Meter: meter.DefaultMeter} |  | ||||||
| 	for _, o := range opts { |  | ||||||
| 		o(&options) |  | ||||||
| 	} |  | ||||||
| 	return options |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func NewHandler(opts ...Option) *Handler { |  | ||||||
| 	options := NewOptions(opts...) |  | ||||||
| 	return &Handler{opts: options} |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (h *Handler) Metrics(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error { |  | ||||||
| 	buf := bytes.NewBuffer(nil) |  | ||||||
| 	if err := h.opts.Meter.Write(buf, h.opts.MeterOptions...); err != nil { |  | ||||||
| 		return errors.InternalServerError(h.opts.Name, "%v", err) |  | ||||||
| 	} |  | ||||||
|  |  | ||||||
| 	rsp.Data = buf.Bytes() |  | ||||||
|  |  | ||||||
| 	return nil |  | ||||||
| } |  | ||||||
| @@ -1,24 +0,0 @@ | |||||||
| syntax = "proto3"; |  | ||||||
|  |  | ||||||
| package micro.meter.handler; |  | ||||||
| option go_package = "go.unistack.org/micro/v3/meter/handler;handler"; |  | ||||||
|  |  | ||||||
| import "api/annotations.proto"; |  | ||||||
| import "openapiv3/annotations.proto"; |  | ||||||
| import "codec/frame.proto"; |  | ||||||
|  |  | ||||||
| service MeterService { |  | ||||||
| 	rpc Metrics(micro.codec.Frame) returns (micro.codec.Frame) { |  | ||||||
| 		option (micro.openapiv3.openapiv3_operation) = { |  | ||||||
|       operation_id: "Metrics"; |  | ||||||
|       responses: { |  | ||||||
|         default: { |  | ||||||
|           reference: { |  | ||||||
|             _ref: "micro.codec.Frame"; |  | ||||||
|           }; |  | ||||||
|         }; |  | ||||||
|       }; |  | ||||||
|     }; |  | ||||||
| 		option (micro.api.http) = { get: "/metrics"; }; |  | ||||||
|   }; |  | ||||||
| }; |  | ||||||
| @@ -1,32 +0,0 @@ | |||||||
| // Code generated by protoc-gen-go-micro. DO NOT EDIT. |  | ||||||
| // versions: |  | ||||||
| // - protoc-gen-go-micro v3.10.2 |  | ||||||
| // - protoc              v3.21.12 |  | ||||||
| // source: handler.proto |  | ||||||
|  |  | ||||||
| package handler |  | ||||||
|  |  | ||||||
| import ( |  | ||||||
| 	context "context" |  | ||||||
| 	v3 "go.unistack.org/micro-server-http/v3" |  | ||||||
| 	codec "go.unistack.org/micro/v3/codec" |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| var ( |  | ||||||
| 	MeterServiceName = "MeterService" |  | ||||||
| ) |  | ||||||
| var ( |  | ||||||
| 	MeterServiceServerEndpoints = []v3.EndpointMetadata{ |  | ||||||
| 		{ |  | ||||||
| 			Name:   "MeterService.Metrics", |  | ||||||
| 			Path:   "/metrics", |  | ||||||
| 			Method: "GET", |  | ||||||
| 			Body:   "", |  | ||||||
| 			Stream: false, |  | ||||||
| 		}, |  | ||||||
| 	} |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| type MeterServiceServer interface { |  | ||||||
| 	Metrics(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error |  | ||||||
| } |  | ||||||
| @@ -1,33 +0,0 @@ | |||||||
| // Code generated by protoc-gen-go-micro. DO NOT EDIT. |  | ||||||
| // protoc-gen-go-micro version: v3.10.2 |  | ||||||
| // source: handler.proto |  | ||||||
|  |  | ||||||
| package handler |  | ||||||
|  |  | ||||||
| import ( |  | ||||||
| 	context "context" |  | ||||||
| 	v3 "go.unistack.org/micro-server-http/v3" |  | ||||||
| 	codec "go.unistack.org/micro/v3/codec" |  | ||||||
| 	server "go.unistack.org/micro/v3/server" |  | ||||||
| ) |  | ||||||
|  |  | ||||||
| type meterServiceServer struct { |  | ||||||
| 	MeterServiceServer |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func (h *meterServiceServer) Metrics(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error { |  | ||||||
| 	return h.MeterServiceServer.Metrics(ctx, req, rsp) |  | ||||||
| } |  | ||||||
|  |  | ||||||
| func RegisterMeterServiceServer(s server.Server, sh MeterServiceServer, opts ...server.HandlerOption) error { |  | ||||||
| 	type meterService interface { |  | ||||||
| 		Metrics(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error |  | ||||||
| 	} |  | ||||||
| 	type MeterService struct { |  | ||||||
| 		meterService |  | ||||||
| 	} |  | ||||||
| 	h := &meterServiceServer{sh} |  | ||||||
| 	var nopts []server.HandlerOption |  | ||||||
| 	nopts = append(nopts, v3.HandlerEndpoints(MeterServiceServerEndpoints)) |  | ||||||
| 	return s.Handle(s.NewHandler(&MeterService{h}, append(nopts, opts...)...)) |  | ||||||
| } |  | ||||||
		Reference in New Issue
	
	Block a user