8
8
"io"
9
9
"io/fs"
10
10
"net/http/httptest"
11
+ "net/url"
11
12
"strings"
12
13
13
- "cuelabs.dev/go/oci/ociregistry/ociclient"
14
14
"cuelabs.dev/go/oci/ociregistry/ocimem"
15
15
"cuelabs.dev/go/oci/ociregistry/ociserver"
16
16
"golang.org/x/tools/txtar"
@@ -32,8 +32,8 @@ import (
32
32
//
33
33
// The Registry should be closed after use.
34
34
func New (fsys fs.FS ) (* Registry , error ) {
35
- srv := httptest . NewServer ( ociserver . New ( ocimem .New (), nil ) )
36
- client , err := modregistry .NewClient (ociclient . New ( srv . URL , nil ), "cue/" )
35
+ r := ocimem .New ()
36
+ client , err := modregistry .NewClient (r )
37
37
if err != nil {
38
38
return nil , fmt .Errorf ("cannot make client: %v" , err )
39
39
}
@@ -44,8 +44,14 @@ func New(fsys fs.FS) (*Registry, error) {
44
44
if err := pushContent (client , mods ); err != nil {
45
45
return nil , fmt .Errorf ("cannot push modules: %v" , err )
46
46
}
47
+ srv := httptest .NewServer (ociserver .New (r , nil ))
48
+ u , err := url .Parse (srv .URL )
49
+ if err != nil {
50
+ return nil , err
51
+ }
47
52
return & Registry {
48
- srv : srv ,
53
+ srv : srv ,
54
+ host : u .Host ,
49
55
}, nil
50
56
}
51
57
@@ -87,16 +93,20 @@ func visitDepthFirst(mods map[module.Version]*moduleContent, v module.Version, f
87
93
}
88
94
89
95
type Registry struct {
90
- srv * httptest.Server
96
+ srv * httptest.Server
97
+ host string
91
98
}
92
99
93
100
func (r * Registry ) Close () {
94
101
r .srv .Close ()
95
102
}
96
103
97
- // URL returns the base URL for the registry.
98
- func (r * Registry ) URL () string {
99
- return r .srv .URL
104
+ // Host returns the hostname for the registry server;
105
+ // for example localhost:13455.
106
+ //
107
+ // The connection can be assumed to be insecure.
108
+ func (r * Registry ) Host () string {
109
+ return r .host
100
110
}
101
111
102
112
type handler struct {
0 commit comments