code refactor

This commit is contained in:
MaysWind
2023-06-18 16:30:19 +08:00
parent 812bfc7cf5
commit 5f2819a961
8 changed files with 77 additions and 48 deletions
+3 -2
View File
@@ -8,6 +8,7 @@ import (
"strings"
"github.com/mayswind/ezbookkeeping/pkg/core"
"github.com/mayswind/ezbookkeeping/pkg/errs"
"github.com/mayswind/ezbookkeeping/pkg/settings"
)
@@ -25,7 +26,7 @@ var (
)
// AmapApiProxyHandler returns amap api response
func (p *AmapApiProxy) AmapApiProxyHandler(c *core.Context) *httputil.ReverseProxy {
func (p *AmapApiProxy) AmapApiProxyHandler(c *core.Context) (*httputil.ReverseProxy, *errs.Error) {
var targetUrl string
if strings.HasPrefix(c.Request.RequestURI, "/_AMapService/v4/map/styles") {
@@ -56,5 +57,5 @@ func (p *AmapApiProxy) AmapApiProxyHandler(c *core.Context) *httputil.ReversePro
req.Host = targetUrl.Host
}
return &httputil.ReverseProxy{Director: director}
return &httputil.ReverseProxy{Director: director}, nil
}
+15 -4
View File
@@ -7,6 +7,8 @@ import (
"net/url"
"github.com/mayswind/ezbookkeeping/pkg/core"
"github.com/mayswind/ezbookkeeping/pkg/errs"
"github.com/mayswind/ezbookkeeping/pkg/settings"
)
const openStreetMapTileImageUrlFormat = "https://tile.openstreetmap.org/%s/%s/%s" // https://tile.openstreetmap.org/{z}/{x}/{y}.png
@@ -20,14 +22,23 @@ var (
MapImages = &MapImageProxy{}
)
// OpenStreetMapTileImageProxyHandler returns open street map tile image
func (p *MapImageProxy) OpenStreetMapTileImageProxyHandler(c *core.Context) *httputil.ReverseProxy {
// MapTileImageProxyHandler returns map tile image
func (p *MapImageProxy) MapTileImageProxyHandler(c *core.Context) (*httputil.ReverseProxy, *errs.Error) {
mapProvider := c.Query("provider")
targetUrl := ""
if mapProvider == settings.OpenStreetMapProvider {
targetUrl = openStreetMapTileImageUrlFormat
} else {
return nil, errs.ErrParameterInvalid
}
director := func(req *http.Request) {
zoomLevel := c.Param("zoomLevel")
coordinateX := c.Param("coordinateX")
fileName := c.Param("fileName")
imageRawUrl := fmt.Sprintf(openStreetMapTileImageUrlFormat, zoomLevel, coordinateX, fileName)
imageRawUrl := fmt.Sprintf(targetUrl, zoomLevel, coordinateX, fileName)
imageUrl, _ := url.Parse(imageRawUrl)
req.URL = imageUrl
@@ -35,5 +46,5 @@ func (p *MapImageProxy) OpenStreetMapTileImageProxyHandler(c *core.Context) *htt
req.Host = imageUrl.Host
}
return &httputil.ReverseProxy{Director: director}
return &httputil.ReverseProxy{Director: director}, nil
}