fix content-type not set regression on main proxy handler
This commit is contained in:
@@ -20,6 +20,7 @@ func NewOutlineHandler(path string, opts *ProxyOptions) fiber.Handler {
|
||||
rx.SpoofReferrerFromGoogleSearch(),
|
||||
).
|
||||
AddResponseModifications(
|
||||
tx.ForwardResponseHeaders(),
|
||||
tx.DeleteIncomingCookies(),
|
||||
tx.RewriteHTMLResourceURLs(),
|
||||
tx.GenerateReadableOutline(), // <-- this response modification does the outline rendering
|
||||
|
||||
@@ -43,7 +43,7 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler {
|
||||
//rx.RequestArchiveIs(),
|
||||
).
|
||||
AddResponseModifications(
|
||||
//tx.ForwardResponseHeaders(),
|
||||
tx.ForwardResponseHeaders(),
|
||||
//tx.BlockThirdPartyScripts(),
|
||||
tx.DeleteIncomingCookies(),
|
||||
tx.DeleteLocalStorageData(),
|
||||
@@ -53,11 +53,16 @@ func NewProxySiteHandler(opts *ProxyOptions) fiber.Handler {
|
||||
tx.RewriteHTMLResourceURLs(),
|
||||
tx.PatchDynamicResourceURLs(),
|
||||
tx.PatchTrackerScripts(),
|
||||
//tx.BlockElementRemoval(".article-content"), // techcrunch
|
||||
tx.BlockElementRemoval(".available-content"), // substack
|
||||
tx.BlockElementRemoval(".article-content"), // techcrunch
|
||||
//tx.BlockElementRemoval(".available-content"), // substack
|
||||
// tx.SetContentSecurityPolicy("default-src * 'unsafe-inline' 'unsafe-eval' data: blob:;"),
|
||||
)
|
||||
|
||||
// no options passed in, return early
|
||||
if opts == nil {
|
||||
return proxychain.Execute()
|
||||
}
|
||||
|
||||
// load ruleset
|
||||
rule, exists := opts.Ruleset.GetRule(proxychain.Request.URL)
|
||||
if exists {
|
||||
|
||||
@@ -29,7 +29,6 @@ func NewRulesetSiteHandler(opts *ProxyOptions) fiber.Handler {
|
||||
return c.Send([]byte(jsn))
|
||||
|
||||
default:
|
||||
// TODO: the ruleset.MarshalYAML() method is currently broken and panics
|
||||
yml, err := opts.Ruleset.YAML()
|
||||
if err != nil {
|
||||
return err
|
||||
|
||||
@@ -525,12 +525,14 @@ func (chain *ProxyChain) Execute() error {
|
||||
return errors.New("no context set")
|
||||
}
|
||||
|
||||
// TODO: this seems broken
|
||||
// in case api user did not set or forward content-type, we do it for them
|
||||
ct := chain.Context.Response().Header.Peek("content-type")
|
||||
CT := chain.Context.Response().Header.Peek("Content-Type")
|
||||
if ct == nil && CT == nil {
|
||||
chain.Context.Set("content-type", chain.Response.Header.Get("content-type"))
|
||||
}
|
||||
/*
|
||||
ct := string(chain.Context.Response().Header.Peek("content-type"))
|
||||
if ct == "" {
|
||||
chain.Context.Set("content-type", chain.Response.Header.Get("content-type"))
|
||||
}
|
||||
*/
|
||||
|
||||
// Return request back to client
|
||||
return chain.Context.SendStream(body)
|
||||
|
||||
Reference in New Issue
Block a user