// Code generated by protoc-gen-go-micro. DO NOT EDIT.
// protoc-gen-go-micro version: v3.5.3
// source: health.proto

package health

import (
	context "context"
	api "go.unistack.org/micro/v3/api"
	codec "go.unistack.org/micro/v3/codec"
	server "go.unistack.org/micro/v3/server"
)

type healthServer struct {
	HealthServer
}

func (h *healthServer) Live(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error {
	return h.HealthServer.Live(ctx, req, rsp)
}

func (h *healthServer) Ready(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error {
	return h.HealthServer.Ready(ctx, req, rsp)
}

func (h *healthServer) Version(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error {
	return h.HealthServer.Version(ctx, req, rsp)
}

func RegisterHealthServer(s server.Server, sh HealthServer, opts ...server.HandlerOption) error {
	type health interface {
		Live(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error
		Ready(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error
		Version(ctx context.Context, req *codec.Frame, rsp *codec.Frame) error
	}
	type Health struct {
		health
	}
	h := &healthServer{sh}
	var nopts []server.HandlerOption
	for _, endpoint := range HealthEndpoints {
		nopts = append(nopts, api.WithEndpoint(&endpoint))
	}
	return s.Handle(s.NewHandler(&Health{h}, append(nopts, opts...)...))
}