...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package client
20
21
22
23
24 import (
25 "github.com/go-openapi/runtime"
26 httptransport "github.com/go-openapi/runtime/client"
27 "github.com/go-openapi/strfmt"
28
29 "github.com/sigstore/rekor/pkg/generated/client/entries"
30 "github.com/sigstore/rekor/pkg/generated/client/index"
31 "github.com/sigstore/rekor/pkg/generated/client/pubkey"
32 "github.com/sigstore/rekor/pkg/generated/client/tlog"
33 )
34
35
36 var Default = NewHTTPClient(nil)
37
38 const (
39
40
41 DefaultHost string = "rekor.sigstore.dev"
42
43
44 DefaultBasePath string = "/"
45 )
46
47
48 var DefaultSchemes = []string{"http"}
49
50
51 func NewHTTPClient(formats strfmt.Registry) *Rekor {
52 return NewHTTPClientWithConfig(formats, nil)
53 }
54
55
56
57 func NewHTTPClientWithConfig(formats strfmt.Registry, cfg *TransportConfig) *Rekor {
58
59 if cfg == nil {
60 cfg = DefaultTransportConfig()
61 }
62
63
64 transport := httptransport.New(cfg.Host, cfg.BasePath, cfg.Schemes)
65 return New(transport, formats)
66 }
67
68
69 func New(transport runtime.ClientTransport, formats strfmt.Registry) *Rekor {
70
71 if formats == nil {
72 formats = strfmt.Default
73 }
74
75 cli := new(Rekor)
76 cli.Transport = transport
77 cli.Entries = entries.New(transport, formats)
78 cli.Index = index.New(transport, formats)
79 cli.Pubkey = pubkey.New(transport, formats)
80 cli.Tlog = tlog.New(transport, formats)
81 return cli
82 }
83
84
85
86 func DefaultTransportConfig() *TransportConfig {
87 return &TransportConfig{
88 Host: DefaultHost,
89 BasePath: DefaultBasePath,
90 Schemes: DefaultSchemes,
91 }
92 }
93
94
95
96 type TransportConfig struct {
97 Host string
98 BasePath string
99 Schemes []string
100 }
101
102
103
104 func (cfg *TransportConfig) WithHost(host string) *TransportConfig {
105 cfg.Host = host
106 return cfg
107 }
108
109
110
111 func (cfg *TransportConfig) WithBasePath(basePath string) *TransportConfig {
112 cfg.BasePath = basePath
113 return cfg
114 }
115
116
117
118 func (cfg *TransportConfig) WithSchemes(schemes []string) *TransportConfig {
119 cfg.Schemes = schemes
120 return cfg
121 }
122
123
124 type Rekor struct {
125 Entries entries.ClientService
126
127 Index index.ClientService
128
129 Pubkey pubkey.ClientService
130
131 Tlog tlog.ClientService
132
133 Transport runtime.ClientTransport
134 }
135
136
137 func (c *Rekor) SetTransport(transport runtime.ClientTransport) {
138 c.Transport = transport
139 c.Entries.SetTransport(transport)
140 c.Index.SetTransport(transport)
141 c.Pubkey.SetTransport(transport)
142 c.Tlog.SetTransport(transport)
143 }
144
View as plain text