mirror of
https://github.com/yusing/godoxy.git
synced 2025-05-31 00:52:35 +02:00
treat fileserver as http route
This commit is contained in:
parent
1baf10fa88
commit
ec148f036d
4 changed files with 17 additions and 23 deletions
|
@ -17,11 +17,10 @@ type (
|
|||
NumUnknown uint16 `json:"unknown"`
|
||||
}
|
||||
ProviderStats struct {
|
||||
Total uint16 `json:"total"`
|
||||
RPs RouteStats `json:"reverse_proxies"`
|
||||
FileServers RouteStats `json:"file_servers"`
|
||||
Streams RouteStats `json:"streams"`
|
||||
Type types.ProviderType `json:"type"`
|
||||
Total uint16 `json:"total"`
|
||||
RPs RouteStats `json:"reverse_proxies"`
|
||||
Streams RouteStats `json:"streams"`
|
||||
Type types.ProviderType `json:"type"`
|
||||
}
|
||||
)
|
||||
|
||||
|
@ -56,22 +55,19 @@ func (stats *RouteStats) AddOther(other RouteStats) {
|
|||
}
|
||||
|
||||
func (p *Provider) Statistics() ProviderStats {
|
||||
var rps, fileServers, streams RouteStats
|
||||
var rps, streams RouteStats
|
||||
for _, r := range p.routes {
|
||||
switch r.Type() {
|
||||
case route.RouteTypeReverseProxy:
|
||||
case route.RouteTypeHTTP:
|
||||
rps.Add(r)
|
||||
case route.RouteTypeStream:
|
||||
streams.Add(r)
|
||||
default:
|
||||
fileServers.Add(r)
|
||||
}
|
||||
}
|
||||
return ProviderStats{
|
||||
Total: rps.Total + streams.Total,
|
||||
RPs: rps,
|
||||
FileServers: fileServers,
|
||||
Streams: streams,
|
||||
Type: p.t,
|
||||
Total: rps.Total + streams.Total,
|
||||
RPs: rps,
|
||||
Streams: streams,
|
||||
Type: p.t,
|
||||
}
|
||||
}
|
||||
|
|
|
@ -140,13 +140,12 @@ func (r *Route) TargetURL() *net.URL {
|
|||
|
||||
func (r *Route) Type() types.RouteType {
|
||||
switch r.Scheme {
|
||||
case types.SchemeHTTP, types.SchemeHTTPS:
|
||||
return types.RouteTypeReverseProxy
|
||||
case types.SchemeHTTP, types.SchemeHTTPS, types.SchemeFileServer:
|
||||
return types.RouteTypeHTTP
|
||||
case types.SchemeTCP, types.SchemeUDP:
|
||||
return types.RouteTypeStream
|
||||
default:
|
||||
return types.RouteTypeFileServer
|
||||
}
|
||||
panic(fmt.Errorf("unexpected scheme %s for alias %s", r.Scheme, r.Alias))
|
||||
}
|
||||
|
||||
func (r *Route) HealthMonitor() health.HealthMonitor {
|
||||
|
|
|
@ -147,11 +147,11 @@ func HomepageConfig(useDefaultCategories bool, categoryFilter, providerFilter st
|
|||
func RoutesByAlias(typeFilter ...route.RouteType) map[string]route.Route {
|
||||
rts := make(map[string]route.Route)
|
||||
if len(typeFilter) == 0 || typeFilter[0] == "" {
|
||||
typeFilter = []route.RouteType{route.RouteTypeReverseProxy, route.RouteTypeStream}
|
||||
typeFilter = []route.RouteType{route.RouteTypeHTTP, route.RouteTypeStream}
|
||||
}
|
||||
for _, t := range typeFilter {
|
||||
switch t {
|
||||
case route.RouteTypeReverseProxy:
|
||||
case route.RouteTypeHTTP:
|
||||
routes.GetHTTPRoutes().RangeAll(func(alias string, r route.HTTPRoute) {
|
||||
rts[alias] = r
|
||||
})
|
||||
|
|
|
@ -3,7 +3,6 @@ package types
|
|||
type RouteType string
|
||||
|
||||
const (
|
||||
RouteTypeStream RouteType = "stream"
|
||||
RouteTypeReverseProxy RouteType = "reverse_proxy"
|
||||
RouteTypeFileServer RouteType = "file_server"
|
||||
RouteTypeStream RouteType = "stream"
|
||||
RouteTypeHTTP RouteType = "http"
|
||||
)
|
||||
|
|
Loading…
Add table
Reference in a new issue