client

package
v0.1.3-alpha Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 1, 2024 License: Apache-2.0 Imports: 10 Imported by: 0

Documentation

Overview

Copyright (c) Huawei Technologies Co., Ltd. 2024. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) Huawei Technologies Co., Ltd. 2024. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) Huawei Technologies Co., Ltd. 2024. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Copyright (c) Huawei Technologies Co., Ltd. 2024. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Authenticate

type Authenticate interface {
	Auth(w http.ResponseWriter, r *http.Request) (error, bool)
	GetPayload() *bytes.Buffer
	GetEventType() string
	GetEventGUID() string
}

type Authentication

type Authentication struct {
	Secret []byte
}

func (*Authentication) DoAuthentication

func (a *Authentication) DoAuthentication(w http.ResponseWriter, r *http.Request) (error, *bytes.Buffer, string, string)

type Client

type Client interface {
	CreatePRComment(owner, repo, number, comment string) (result any, success bool, err error)
	CreateIssueComment(owner, repo, number, comment string) (result any, success bool, err error)
	GetRepoAllMember(org, repo string) (result []any, success bool, err error)
}

func NewClient

func NewClient(token []byte, lgr *logrus.Entry) Client

NewClient 通过 token 请求每个代码平台的接口,来确定使用哪个平台的 OpenAPI。也有可能返回 nil

type EventHeader

type EventHeader struct {
	EventType *string `log:"event-type"`
	EventGUID *string `log:"event-guid"`
}

type EventPayload

type EventPayload struct {
	Action          *string
	Org             *string `log:"org"`
	Repo            *string `log:"repo"`
	HtmlURL         *string
	Base            *string
	Head            *string
	State           *string
	Number          *string `log:"number"` // issues or pull requests number
	Author          *string
	CommentID       *string
	CommentCategory *bool `log:"category"`
	Comment         *string
	Commenter       *string
	Labels          []*string
}

type GenericEvent

type GenericEvent struct {
	EventHeader
	EventPayload
	MetaPayload *bytes.Buffer
}

func NewGenericEvent

func NewGenericEvent(w http.ResponseWriter, r *http.Request) *GenericEvent

func (*GenericEvent) CollectLoggingFields

func (e *GenericEvent) CollectLoggingFields() *map[string]interface{}

func (*GenericEvent) ConvertFromBytes

func (e *GenericEvent) ConvertFromBytes(buf *bytes.Buffer) error

func (*GenericEvent) ConvertToBytes

func (e *GenericEvent) ConvertToBytes() ([]byte, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL