code.gitea.io/gitea@v1.21.7/routers/api/actions/ping/ping.go (about)

     1  // Copyright 2022 The Gitea Authors. All rights reserved.
     2  // SPDX-License-Identifier: MIT
     3  
     4  package ping
     5  
     6  import (
     7  	"context"
     8  	"fmt"
     9  	"net/http"
    10  
    11  	"code.gitea.io/gitea/modules/log"
    12  
    13  	pingv1 "code.gitea.io/actions-proto-go/ping/v1"
    14  	"code.gitea.io/actions-proto-go/ping/v1/pingv1connect"
    15  	"github.com/bufbuild/connect-go"
    16  )
    17  
    18  func NewPingServiceHandler() (string, http.Handler) {
    19  	return pingv1connect.NewPingServiceHandler(&Service{})
    20  }
    21  
    22  var _ pingv1connect.PingServiceHandler = (*Service)(nil)
    23  
    24  type Service struct {
    25  	pingv1connect.UnimplementedPingServiceHandler
    26  }
    27  
    28  func (s *Service) Ping(
    29  	ctx context.Context,
    30  	req *connect.Request[pingv1.PingRequest],
    31  ) (*connect.Response[pingv1.PingResponse], error) {
    32  	log.Trace("Content-Type: %s", req.Header().Get("Content-Type"))
    33  	log.Trace("User-Agent: %s", req.Header().Get("User-Agent"))
    34  	res := connect.NewResponse(&pingv1.PingResponse{
    35  		Data: fmt.Sprintf("Hello, %s!", req.Msg.Data),
    36  	})
    37  	return res, nil
    38  }