+2
-2
api/server/feedgetposts.go
+2
-2
api/server/feedgetposts.go
···
177
177
for _, img := range post.Images {
178
178
mediaImg := &vylet.MediaImages_ViewImage{
179
179
Alt: img.Alt,
180
-
Fullsize: helpers.ImageCidToCdnUrl(img.Cid, "fullsize"),
181
-
Thumbnail: helpers.ImageCidToCdnUrl(img.Cid, "thumb"),
180
+
Fullsize: helpers.ImageCidToCdnUrl(s.cdnHost, "fullsize", post.AuthorDid, img.Cid),
181
+
Thumbnail: helpers.ImageCidToCdnUrl(s.cdnHost, "thumb", post.AuthorDid, img.Cid),
182
182
}
183
183
if img.Width != nil && img.Height != nil {
184
184
mediaImg.AspectRatio = &vylet.MediaDefs_AspectRatio{
+8
-3
api/server/server.go
+8
-3
api/server/server.go
···
31
31
echo *echo.Echo
32
32
client *client.Client
33
33
directory *identity.CacheDirectory
34
+
35
+
cdnHost string
34
36
}
35
37
36
38
type Args struct {
37
-
Logger *slog.Logger
38
-
Addr string
39
-
DbHost string
39
+
Logger *slog.Logger
40
+
Addr string
41
+
DbHost string
42
+
CdnHost string
40
43
}
41
44
42
45
func New(args *Args) (*Server, error) {
···
83
86
httpd: &httpd,
84
87
client: client,
85
88
directory: &directory,
89
+
90
+
cdnHost: args.CdnHost,
86
91
}
87
92
88
93
server.echo.HTTPErrorHandler = server.errorHandler
+9
-3
cmd/api/main.go
+9
-3
cmd/api/main.go
···
27
27
Value: "localhost:9090",
28
28
EnvVars: []string{"VYLET_API_DB_HOST"},
29
29
},
30
+
&cli.StringFlag{
31
+
Name: "cdn-host",
32
+
EnvVars: []string{"VYLET_API_CDN_HOST"},
33
+
Value: "http://localhost:9525",
34
+
},
30
35
},
31
36
Action: run,
32
37
}
···
43
48
telemetry.StartMetrics(cmd)
44
49
45
50
server, err := server.New(&server.Args{
46
-
Logger: logger,
47
-
Addr: cmd.String("listen-addr"),
48
-
DbHost: cmd.String("db-host"),
51
+
Logger: logger,
52
+
Addr: cmd.String("listen-addr"),
53
+
DbHost: cmd.String("db-host"),
54
+
CdnHost: cmd.String("cdn-host"),
49
55
})
50
56
if err != nil {
51
57
return fmt.Errorf("failed to create new server: %w", err)
+1
docker-compose-staging.yaml
+1
docker-compose-staging.yaml
+3
-2
internal/helpers/helpers.go
+3
-2
internal/helpers/helpers.go
···
21
21
return &num
22
22
}
23
23
24
-
func ImageCidToCdnUrl(cid string, size string) string {
25
-
return fmt.Sprintf("https://cdn.vylet.app/%s/%s@png", cid, size)
24
+
func ImageCidToCdnUrl(host, size, did, cid string) string {
25
+
// http://localhost:9525/img/fullsize/plain/did:plc:oisofpd7lj26yvgiivf3lxsi/bafkreiesoy5p2kcc73o7qv4iywlxnzssdjivvsoa3ivhnaqy2uyjgmmnbq@jpeg
26
+
return fmt.Sprintf("%s/img/%s/plain/%s/%s@jpeg", host, size, did, cid)
26
27
}
27
28
28
29
func StrToCid(str string) cid.Cid {