proxied fetch
This commit is contained in:
parent
a15c4bdf63
commit
288724adef
@ -58,6 +58,11 @@ func (a *App) newFetchProxy() {
|
|||||||
Director: func(req *http.Request) {
|
Director: func(req *http.Request) {
|
||||||
realTarget := req.Header.Get("Real-Target")
|
realTarget := req.Header.Get("Real-Target")
|
||||||
if realTarget != "" {
|
if realTarget != "" {
|
||||||
|
realTarget, err := url.PathUnescape(realTarget)
|
||||||
|
if err != nil {
|
||||||
|
log.Printf("Error decoding target URL: %v\n", err)
|
||||||
|
return
|
||||||
|
}
|
||||||
target, err := url.Parse(realTarget)
|
target, err := url.Parse(realTarget)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Printf("Error parsing target URL: %v\n", err)
|
log.Printf("Error parsing target URL: %v\n", err)
|
||||||
@ -73,6 +78,7 @@ func (a *App) newFetchProxy() {
|
|||||||
req.URL.Scheme = target.Scheme
|
req.URL.Scheme = target.Scheme
|
||||||
req.URL.Host = target.Host
|
req.URL.Host = target.Host
|
||||||
req.URL.Path = target.Path
|
req.URL.Path = target.Path
|
||||||
|
req.URL.RawQuery = url.PathEscape(target.RawQuery)
|
||||||
log.Println("Proxying to", realTarget)
|
log.Println("Proxying to", realTarget)
|
||||||
} else {
|
} else {
|
||||||
log.Println("Real-Target header is missing")
|
log.Println("Real-Target header is missing")
|
||||||
|
@ -329,7 +329,7 @@ export async function getReqUrl(port: number, path: string, isCore: boolean = fa
|
|||||||
await GetProxyPort().then(p => commonStore.setProxyPort(p));
|
await GetProxyPort().then(p => commonStore.setProxyPort(p));
|
||||||
return {
|
return {
|
||||||
url: `http://127.0.0.1:${commonStore.proxyPort}`,
|
url: `http://127.0.0.1:${commonStore.proxyPort}`,
|
||||||
headers: { 'Real-Target': realUrl }
|
headers: { 'Real-Target': encodeURIComponent(realUrl) }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user