mirror of
https://github.com/yusing/godoxy.git
synced 2026-01-11 14:20:32 +01:00
Split the monolithic `internal/homepage` icons functionality into a structured package hierarchy: - `internal/homepage/icons/` - Core types (URL, Key, Meta, Provider, Source, Variant) - `internal/homepage/icons/fetch/` - Icon fetching logic (content.go, fetch.go, route.go) - `internal/homepage/icons/list/` - Icon listing and search (list_icons.go, list_icons_test.go) Moved icon-related code from `internal/homepage/`: - `icon_url.go` → `icons/url.go` (+ url_test.go) - `content.go` → `icons/fetch/content.go` - `route.go` → `icons/fetch/route.go` - `list_icons.go` → `icons/list/list_icons.go` (+ list_icons_test.go) Updated all consumers to use the new package structure: - `cmd/main.go` - `internal/api/v1/favicon.go` - `internal/api/v1/icons.go` - `internal/idlewatcher/handle_http.go` - `internal/route/route.go`
21 lines
296 B
Go
21 lines
296 B
Go
package iconfetch
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
nettypes "github.com/yusing/godoxy/internal/net/types"
|
|
"github.com/yusing/goutils/pool"
|
|
)
|
|
|
|
type route interface {
|
|
pool.Object
|
|
ProviderName() string
|
|
References() []string
|
|
TargetURL() *nettypes.URL
|
|
}
|
|
|
|
type httpRoute interface {
|
|
route
|
|
http.Handler
|
|
}
|