MCPcopy Create free account
hub / github.com/datastax/cql-proxy / writeBundleBytes

Function writeBundleBytes

astra/bundle_test.go:181–233  ·  view source on GitHub ↗
(configJson []byte, caCrt []byte, cert []byte, key []byte)

Source from the content-addressed store, hash-verified

179}
180
181func writeBundleBytes(configJson []byte, caCrt []byte, cert []byte, key []byte) (path string, err error) {
182 temp, err := ioutil.TempFile("", "bundle.zip")
183 if err != nil {
184 return "", err
185 }
186
187 z := zip.NewWriter(temp)
188
189 write := func(name string, contents []byte) error {
190 var w io.Writer
191 w, err := z.Create(name)
192 if err != nil {
193 return err
194 }
195 _, err = w.Write(contents)
196 return err
197 }
198
199 if configJson != nil {
200 err = write("config.json", configJson)
201 if err != nil {
202 return "", err
203 }
204 }
205
206 if caCrt != nil {
207 err = write("ca.crt", caCrt)
208 if err != nil {
209 return "", err
210 }
211 }
212
213 if cert != nil {
214 err = write("cert", cert)
215 if err != nil {
216 return "", err
217 }
218 }
219
220 if key != nil {
221 err = write("key", key)
222 if err != nil {
223 return "", err
224 }
225 }
226
227 err = z.Close()
228 if err != nil {
229 return "", err
230 }
231
232 return temp.Name(), temp.Close()
233}
234
235// Data for a test certificate pair and the corresponding CA.
236// CN: localhost, IP: 127.0.0.1 Expiration: 2032/04/29

Calls 3

WriteMethod · 0.80
NameMethod · 0.80
CloseMethod · 0.45

Tested by

no test coverage detected