mirror of
https://github.com/m1k1o/neko.git
synced 2025-04-29 18:36:22 +02:00
https: if we have legacy mode, we need to start local http server too. (#507)
This commit is contained in:
parent
46e9b19e09
commit
4eec843ed2
1 changed files with 24 additions and 5 deletions
|
@ -2,6 +2,7 @@ package http
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"net"
|
||||||
"net/http"
|
"net/http"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
|
@ -56,11 +57,6 @@ func New(WebSocketManager types.WebSocketManager, ApiManager types.ApiManager, c
|
||||||
return config.AllowOrigin(r.Header.Get("Origin"))
|
return config.AllowOrigin(r.Header.Get("Origin"))
|
||||||
}))
|
}))
|
||||||
|
|
||||||
// Legacy handler
|
|
||||||
if viper.GetBool("legacy") {
|
|
||||||
legacy.New(config.Bind).Route(router)
|
|
||||||
}
|
|
||||||
|
|
||||||
batch := batchHandler{
|
batch := batchHandler{
|
||||||
Router: router,
|
Router: router,
|
||||||
PathPrefix: "/api",
|
PathPrefix: "/api",
|
||||||
|
@ -122,6 +118,24 @@ func (manager *HttpManagerCtx) Start() {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
manager.logger.Info().Msgf("https listening on %s", manager.http.Addr)
|
manager.logger.Info().Msgf("https listening on %s", manager.http.Addr)
|
||||||
|
|
||||||
|
// if we have legacy mode, we need to start local http server too
|
||||||
|
if viper.GetBool("legacy") {
|
||||||
|
// create a listener for the API server with a random port
|
||||||
|
listener, err := net.Listen("tcp", "127.0.0.1:0")
|
||||||
|
if err != nil {
|
||||||
|
manager.logger.Panic().Err(err).Msg("unable to start legacy http proxy")
|
||||||
|
}
|
||||||
|
|
||||||
|
go func() {
|
||||||
|
if err := http.Serve(listener, manager.router); err != http.ErrServerClosed {
|
||||||
|
manager.logger.Panic().Err(err).Msg("unable to start http server")
|
||||||
|
}
|
||||||
|
}()
|
||||||
|
manager.logger.Info().Msgf("legacy proxy listening on %s", listener.Addr().String())
|
||||||
|
|
||||||
|
legacy.New(listener.Addr().String()).Route(manager.router)
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
go func() {
|
go func() {
|
||||||
if err := manager.http.ListenAndServe(); err != http.ErrServerClosed {
|
if err := manager.http.ListenAndServe(); err != http.ErrServerClosed {
|
||||||
|
@ -129,6 +143,11 @@ func (manager *HttpManagerCtx) Start() {
|
||||||
}
|
}
|
||||||
}()
|
}()
|
||||||
manager.logger.Info().Msgf("http listening on %s", manager.http.Addr)
|
manager.logger.Info().Msgf("http listening on %s", manager.http.Addr)
|
||||||
|
|
||||||
|
// start legacy proxy if enabled
|
||||||
|
if viper.GetBool("legacy") {
|
||||||
|
legacy.New(manager.http.Addr).Route(manager.router)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue