podman

Форк
0
50 строк · 1.6 Кб
1
// Copyright 2015 go-swagger maintainers
2
//
3
// Licensed under the Apache License, Version 2.0 (the "License");
4
// you may not use this file except in compliance with the License.
5
// You may obtain a copy of the License at
6
//
7
//    http://www.apache.org/licenses/LICENSE-2.0
8
//
9
// Unless required by applicable law or agreed to in writing, software
10
// distributed under the License is distributed on an "AS IS" BASIS,
11
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
// See the License for the specific language governing permissions and
13
// limitations under the License.
14

15
package errors
16

17
import (
18
	"bytes"
19
	"fmt"
20
	"strings"
21
)
22

23
// APIVerificationFailed is an error that contains all the missing info for a mismatched section
24
// between the api registrations and the api spec
25
type APIVerificationFailed struct {
26
	Section              string   `json:"section,omitempty"`
27
	MissingSpecification []string `json:"missingSpecification,omitempty"`
28
	MissingRegistration  []string `json:"missingRegistration,omitempty"`
29
}
30

31
func (v *APIVerificationFailed) Error() string {
32
	buf := bytes.NewBuffer(nil)
33

34
	hasRegMissing := len(v.MissingRegistration) > 0
35
	hasSpecMissing := len(v.MissingSpecification) > 0
36

37
	if hasRegMissing {
38
		buf.WriteString(fmt.Sprintf("missing [%s] %s registrations", strings.Join(v.MissingRegistration, ", "), v.Section))
39
	}
40

41
	if hasRegMissing && hasSpecMissing {
42
		buf.WriteString("\n")
43
	}
44

45
	if hasSpecMissing {
46
		buf.WriteString(fmt.Sprintf("missing from spec file [%s] %s", strings.Join(v.MissingSpecification, ", "), v.Section))
47
	}
48

49
	return buf.String()
50
}
51

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.