mirror of
https://github.com/go-gitea/gitea.git
synced 2025-08-20 15:44:18 +09:00
46 lines
1.2 KiB
Go
46 lines
1.2 KiB
Go
// Copyright 2022 The Gitea Authors. All rights reserved.
|
|
// Use of this source code is governed by a MIT-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package bots
|
|
|
|
import (
|
|
"context"
|
|
"fmt"
|
|
|
|
"code.gitea.io/gitea/modules/log"
|
|
"code.gitea.io/gitea/modules/web"
|
|
pingv1 "gitea.com/gitea/proto-go/ping/v1"
|
|
"gitea.com/gitea/proto-go/ping/v1/pingv1connect"
|
|
|
|
"github.com/bufbuild/connect-go"
|
|
)
|
|
|
|
type PingService struct{}
|
|
|
|
func (s *PingService) Ping(
|
|
ctx context.Context,
|
|
req *connect.Request[pingv1.PingRequest],
|
|
) (*connect.Response[pingv1.PingResponse], error) {
|
|
log.Info("Content-Type: %s", req.Header().Get("Content-Type"))
|
|
log.Info("User-Agent: %s", req.Header().Get("User-Agent"))
|
|
log.Info("X-Gitea-Token: %s", req.Header().Get("X-Gitea-Token"))
|
|
res := connect.NewResponse(&pingv1.PingResponse{
|
|
Data: fmt.Sprintf("Hello, %s!", req.Msg.Data),
|
|
})
|
|
res.Header().Set("Gitea-Version", "v1")
|
|
return res, nil
|
|
}
|
|
|
|
func pingServiceRoute(r *web.Route) {
|
|
compress1KB := connect.WithCompressMinBytes(1024)
|
|
|
|
pingService := &PingService{}
|
|
connectPath, connecthandler := pingv1connect.NewPingServiceHandler(
|
|
pingService,
|
|
compress1KB,
|
|
)
|
|
|
|
r.Post(connectPath+"{name}", grpcHandler(connecthandler))
|
|
}
|