Remove demo file viewer, update dependencies

This commit is contained in:
2023-05-10 15:08:29 +02:00
parent 15a1702063
commit 3f1318784e
8 changed files with 25 additions and 73 deletions

View File

@@ -9,6 +9,7 @@ import (
"fornaxian.tech/log"
"fornaxian.tech/pixeldrain_api_client/pixelapi"
"fornaxian.tech/util"
"github.com/julienschmidt/httprouter"
)
@@ -58,11 +59,6 @@ func (vd *fileViewerData) themeOverride(r *http.Request, files []pixelapi.ListFi
// ServeFileViewer controller for GET /u/:id
func (wc *WebController) serveFileViewer(w http.ResponseWriter, r *http.Request, p httprouter.Params) {
if p.ByName("id") == "demo" {
wc.serveViewerDemo(w, r) // Required for a-ads.com quality check
return
}
// If the user agent is Wget we redirect it to the API so that the file can
// be downloaded directly
if strings.HasPrefix(r.UserAgent(), "Wget/") {
@@ -140,7 +136,7 @@ func (wc *WebController) serveFileViewer(w http.ResponseWriter, r *http.Request,
}
err = wc.templates.Get().ExecuteTemplate(w, templateName, templateData)
if err != nil && !isNetError(err) {
if err != nil && !util.IsNetError(err) {
log.Error("Error executing template file_viewer: %s", err)
}
}
@@ -202,38 +198,7 @@ func (wc *WebController) serveListViewer(w http.ResponseWriter, r *http.Request,
}
err = wc.templates.Get().ExecuteTemplate(w, templateName, templateData)
if err != nil && !isNetError(err) {
if err != nil && !util.IsNetError(err) {
log.Error("Error executing template file_viewer: %s", err)
}
}
// ServeFileViewerDemo is a dummy API response that responds with info about a
// non-existent demo file. This is required by the a-ads ad network to allow for
// automatic checking of the presence of the ad unit on this page.
func (wc *WebController) serveViewerDemo(w http.ResponseWriter, r *http.Request) {
templateData := wc.newTemplateData(w, r)
templateData.Other = fileViewerData{
Type: "file",
CaptchaKey: wc.captchaSiteKey,
UserAdsEnabled: true,
APIResponse: map[string]interface{}{
"id": "demo",
"name": "Demo file",
"date_upload": "2017-01-01 12:34:56",
"date_lastview": "2017-01-01 12:34:56",
"size": 123456789,
"views": 1,
"bandwidth_used": 123456789,
"mime_type": "text/demo",
"description": "A file to demonstrate the viewer page",
"mime_image": "/res/img/mime/text.png",
"thumbnail": "/res/img/mime/text.png",
"abuse_type": "",
"show_ads": true,
},
}
err := wc.templates.Get().ExecuteTemplate(w, "file_viewer_svelte", templateData)
if err != nil && !isNetError(err) {
log.Error("Error rendering demo file: %s", err)
}
}

View File

@@ -6,6 +6,7 @@ import (
"strings"
"fornaxian.tech/log"
"fornaxian.tech/util"
"github.com/julienschmidt/httprouter"
)
@@ -35,7 +36,7 @@ func (wc *WebController) serveDirectory(w http.ResponseWriter, r *http.Request,
td.Title = fmt.Sprintf("%s ~ pixeldrain", node.Path[node.BaseIndex].Name)
td.Other = node
err = wc.templates.Get().ExecuteTemplate(w, "filesystem", td)
if err != nil && !isNetError(err) {
if err != nil && !util.IsNetError(err) {
log.Error("Error executing template filesystem: %s", err)
}
}

View File

@@ -5,7 +5,6 @@ import (
"errors"
"fmt"
"html/template"
"net"
"net/http"
"net/http/httputil"
"net/url"
@@ -15,6 +14,7 @@ import (
"fornaxian.tech/log"
"fornaxian.tech/pixeldrain_api_client/pixelapi"
"fornaxian.tech/util"
"github.com/julienschmidt/httprouter"
blackfriday "github.com/russross/blackfriday/v2"
)
@@ -246,7 +246,7 @@ func (wc *WebController) serveTemplate(tpl string, opts handlerOpts) httprouter.
return
}
err := wc.templates.Get().ExecuteTemplate(w, tpl, td)
if err != nil && !isNetError(err) {
if err != nil && !util.IsNetError(err) {
log.Error("Error executing template '%s': %s", tpl, err)
}
}
@@ -268,7 +268,7 @@ func (wc *WebController) serveMarkdown(tpl string, opts handlerOpts) httprouter.
// Execute the raw markdown template and save the result in a buffer
var tplBuf bytes.Buffer
err = wc.templates.Get().ExecuteTemplate(&tplBuf, tpl, tpld)
if err != nil && !isNetError(err) {
if err != nil && !util.IsNetError(err) {
log.Error("Error executing template '%s': %s", tpl, err)
return
}
@@ -309,7 +309,7 @@ func (wc *WebController) serveMarkdown(tpl string, opts handlerOpts) httprouter.
// Execute the wrapper template
err = wc.templates.Get().ExecuteTemplate(w, "markdown_wrapper", tpld)
if err != nil && !isNetError(err) {
if err != nil && !util.IsNetError(err) {
log.Error("Error executing template '%s': %s", tpl, err)
}
}
@@ -384,7 +384,7 @@ func (wc *WebController) serveForm(
}
err := wc.templates.Get().ExecuteTemplate(w, "form_page", td)
if err != nil && !isNetError(err) {
if err != nil && !util.IsNetError(err) {
log.Error("Error executing form page: %s", err)
}
}
@@ -422,11 +422,3 @@ func (wc *WebController) captchaKey() string {
return wc.captchaSiteKey
}
func isNetError(err error) bool {
if _, ok := err.(*net.OpError); ok {
return true
}
return strings.HasSuffix(err.Error(), "connection reset by peer") ||
strings.HasSuffix(err.Error(), "broken pipe")
}