code.gitea.io/gitea@v1.22.3/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  	"connectrpc.com/connect"
    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  
    26  func (s *Service) Ping(
    27  	ctx context.Context,
    28  	req *connect.Request[pingv1.PingRequest],
    29  ) (*connect.Response[pingv1.PingResponse], error) {
    30  	log.Trace("Content-Type: %s", req.Header().Get("Content-Type"))
    31  	log.Trace("User-Agent: %s", req.Header().Get("User-Agent"))
    32  	res := connect.NewResponse(&pingv1.PingResponse{
    33  		Data: fmt.Sprintf("Hello, %s!", req.Msg.Data),
    34  	})
    35  	return res, nil
    36  }