mirror of
https://codeberg.org/VnPower/PixivFE
synced 2024-12-06 19:16:23 +01:00
fix all type errors
This commit is contained in:
+13
-7
@@ -11,7 +11,7 @@ import (
|
||||
"github.com/tidwall/gjson"
|
||||
)
|
||||
|
||||
func pixivPostRequest(r *fiber.Ctx, url, payload, token, csrf string, isJSON bool) error {
|
||||
func pixivPostRequest(r CompatRequest, url, payload, token, csrf string, isJSON bool) error {
|
||||
requestBody := []byte(payload)
|
||||
|
||||
req, err := http.NewRequestWithContext(r.Context(), "POST", url, bytes.NewBuffer(requestBody))
|
||||
@@ -63,7 +63,7 @@ func AddBookmarkRoute(w http.ResponseWriter, r CompatRequest) error {
|
||||
csrf := session.GetCookie(r.Request, session.Cookie_CSRF)
|
||||
|
||||
if token == "" || csrf == "" {
|
||||
return PromptUserToLoginPage(r)
|
||||
return PromptUserToLoginPage(w, r)
|
||||
}
|
||||
|
||||
id := r.Params("id")
|
||||
@@ -82,7 +82,7 @@ func AddBookmarkRoute(w http.ResponseWriter, r CompatRequest) error {
|
||||
return err
|
||||
}
|
||||
|
||||
return r.SendString("Success")
|
||||
return SendString(w, "Success")
|
||||
}
|
||||
|
||||
func DeleteBookmarkRoute(w http.ResponseWriter, r CompatRequest) error {
|
||||
@@ -90,7 +90,7 @@ func DeleteBookmarkRoute(w http.ResponseWriter, r CompatRequest) error {
|
||||
csrf := session.GetCookie(r.Request, session.Cookie_CSRF)
|
||||
|
||||
if token == "" || csrf == "" {
|
||||
return PromptUserToLoginPage(r)
|
||||
return PromptUserToLoginPage(w, r)
|
||||
}
|
||||
|
||||
id := r.Params("id")
|
||||
@@ -105,7 +105,7 @@ func DeleteBookmarkRoute(w http.ResponseWriter, r CompatRequest) error {
|
||||
return err
|
||||
}
|
||||
|
||||
return r.SendString("Success")
|
||||
return SendString(w, "Success")
|
||||
}
|
||||
|
||||
func LikeRoute(w http.ResponseWriter, r CompatRequest) error {
|
||||
@@ -113,7 +113,7 @@ func LikeRoute(w http.ResponseWriter, r CompatRequest) error {
|
||||
csrf := session.GetCookie(r.Request, session.Cookie_CSRF)
|
||||
|
||||
if token == "" || csrf == "" {
|
||||
return PromptUserToLoginPage(r)
|
||||
return PromptUserToLoginPage(w, r)
|
||||
}
|
||||
|
||||
id := r.Params("id")
|
||||
@@ -127,5 +127,11 @@ func LikeRoute(w http.ResponseWriter, r CompatRequest) error {
|
||||
return err
|
||||
}
|
||||
|
||||
return r.SendString("Success")
|
||||
return SendString(w, "Success")
|
||||
}
|
||||
|
||||
func SendString(w http.ResponseWriter, text string) error {
|
||||
w.Header().Set("content-type", "text/plain")
|
||||
_, err := w.Write([]byte(text))
|
||||
return err
|
||||
}
|
||||
+3
-3
@@ -26,7 +26,7 @@ func ArtworkPage(w http.ResponseWriter, r CompatRequest) error {
|
||||
|
||||
// monkey patching. assuming illust.Images[_].Large is used
|
||||
for _, img := range illust.Images {
|
||||
PreloadImage(r, img.Large)
|
||||
PreloadImage(w, img.Large)
|
||||
}
|
||||
|
||||
return Render(w, r, Data_artwork{
|
||||
@@ -39,6 +39,6 @@ func ArtworkPage(w http.ResponseWriter, r CompatRequest) error {
|
||||
})
|
||||
}
|
||||
|
||||
func PreloadImage(r *fiber.Ctx, url string) {
|
||||
r.Response().Header.Add("Link", fmt.Sprintf("<%s>; rel=preload; as=image", url))
|
||||
func PreloadImage(w http.ResponseWriter, url string) {
|
||||
w.Header().Add("Link", fmt.Sprintf("<%s>; rel=preload; as=image", url))
|
||||
}
|
||||
|
||||
@@ -58,3 +58,12 @@ func (r CompatRequest) Params(name string, defaultValue ...string) string {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func RedirectToRoute(w http.ResponseWriter, r CompatRequest, path string, query_params map[string]string, code int) error {
|
||||
query := url.Values{}
|
||||
for k, v := range query_params {
|
||||
query.Add(k, v)
|
||||
}
|
||||
http.Redirect(w, r.Request, path+query.Encode(), code)
|
||||
return nil
|
||||
}
|
||||
|
||||
+3
-3
@@ -1,11 +1,11 @@
|
||||
package routes
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
|
||||
"codeberg.org/vnpower/pixivfe/v2/core"
|
||||
"codeberg.org/vnpower/pixivfe/v2/session"
|
||||
"net/http"
|
||||
)
|
||||
|
||||
func IndexPage(w http.ResponseWriter, r CompatRequest) error {
|
||||
@@ -43,7 +43,7 @@ func Oembed(w http.ResponseWriter, r CompatRequest) error {
|
||||
artistName := r.Query("a", "")
|
||||
artistURL := r.Query("u", "")
|
||||
|
||||
data := fiber.Map{
|
||||
data := map[string]any{
|
||||
"version": "1.0",
|
||||
"embed_type": "rich",
|
||||
"provider_name": "PixivFE",
|
||||
@@ -52,5 +52,5 @@ func Oembed(w http.ResponseWriter, r CompatRequest) error {
|
||||
"author_url": artistURL,
|
||||
}
|
||||
|
||||
return r.JSON(data)
|
||||
return json.NewEncoder(w).Encode(data)
|
||||
}
|
||||
|
||||
+5
-5
@@ -18,32 +18,32 @@ func LoginUserPage(w http.ResponseWriter, r CompatRequest) error {
|
||||
token := session.GetPixivToken(r.Request)
|
||||
|
||||
if token == "" {
|
||||
return PromptUserToLoginPage(r)
|
||||
return PromptUserToLoginPage(w, r)
|
||||
}
|
||||
|
||||
// The left part of the token is the member ID
|
||||
userId := strings.Split(token, "_")
|
||||
|
||||
r.Redirect("/users/" + userId[0])
|
||||
http.Redirect(w, r.Request, "/users/" + userId[0], http.StatusSeeOther)
|
||||
return nil
|
||||
}
|
||||
|
||||
func LoginBookmarkPage(w http.ResponseWriter, r CompatRequest) error {
|
||||
token := session.GetPixivToken(r.Request)
|
||||
if token == "" {
|
||||
return PromptUserToLoginPage(r)
|
||||
return PromptUserToLoginPage(w, r)
|
||||
}
|
||||
|
||||
// The left part of the token is the member ID
|
||||
userId := strings.Split(token, "_")
|
||||
|
||||
r.Redirect("/users/" + userId[0] + "/bookmarks#checkpoint")
|
||||
http.Redirect(w, r.Request, "/users/" + userId[0] + "/bookmarks#checkpoint", http.StatusSeeOther)
|
||||
return nil
|
||||
}
|
||||
|
||||
func FollowingWorksPage(w http.ResponseWriter, r CompatRequest) error {
|
||||
if token := session.GetPixivToken(r.Request); token == "" {
|
||||
return PromptUserToLoginPage(r)
|
||||
return PromptUserToLoginPage(w, r)
|
||||
}
|
||||
|
||||
mode := r.Query("mode", "all")
|
||||
|
||||
@@ -34,15 +34,17 @@ func parseDate(t time.Time) DateWrap {
|
||||
}
|
||||
|
||||
func RankingCalendarPicker(w http.ResponseWriter, r CompatRequest) error {
|
||||
mode := r.FormValue("mode", "daily")
|
||||
date := r.FormValue("date", "")
|
||||
mode := r.FormValue("mode")
|
||||
if mode == "" {
|
||||
mode = "daily"
|
||||
}
|
||||
date := r.FormValue("date")
|
||||
|
||||
return r.RedirectToRoute("/rankingCalendar", fiber.Map{
|
||||
"queries": map[string]string{
|
||||
return RedirectToRoute(w, r,"/rankingCalendar", map[string]string{
|
||||
"mode": mode,
|
||||
"date": date,
|
||||
},
|
||||
})
|
||||
|
||||
}, http.StatusFound)
|
||||
}
|
||||
|
||||
func RankingCalendarPage(w http.ResponseWriter, r CompatRequest) error {
|
||||
|
||||
@@ -4,7 +4,6 @@ import (
|
||||
"io"
|
||||
"log"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"reflect"
|
||||
"strings"
|
||||
|
||||
|
||||
+3
-2
@@ -163,7 +163,7 @@ func SettingsPage(w http.ResponseWriter, r CompatRequest) error {
|
||||
|
||||
func SettingsPost(w http.ResponseWriter, r CompatRequest) error {
|
||||
t := r.Params("type")
|
||||
noredirect := r.FormValue("noredirect", "") == ""
|
||||
noredirect := r.FormValue("noredirect") == ""
|
||||
var err error
|
||||
|
||||
switch t {
|
||||
@@ -199,5 +199,6 @@ func SettingsPost(w http.ResponseWriter, r CompatRequest) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
return r.Redirect("/settings", http.StatusSeeOther)
|
||||
http.Redirect(w, r.Request, "/settings", http.StatusSeeOther)
|
||||
return nil
|
||||
}
|
||||
|
||||
+14
-16
@@ -55,21 +55,19 @@ func TagPage(w http.ResponseWriter, r CompatRequest) error {
|
||||
}
|
||||
|
||||
func AdvancedTagPost(w http.ResponseWriter, r CompatRequest) error {
|
||||
return r.RedirectToRoute("/tags", fiber.Map{
|
||||
"queries": map[string]string{
|
||||
"name": r.Query("name", r.FormValue("name")),
|
||||
"category": r.Query("category", "artworks"),
|
||||
"order": r.Query("order", "date_d"),
|
||||
"mode": r.Query("mode", "safe"),
|
||||
"ratio": r.Query("ratio"),
|
||||
"page": r.Query("page", "1"),
|
||||
"wlt": r.Query("wlt", r.FormValue("wlt")),
|
||||
"wgt": r.Query("wgt", r.FormValue("wgt")),
|
||||
"hlt": r.Query("hlt", r.FormValue("hlt")),
|
||||
"hgt": r.Query("hgt", r.FormValue("hgt")),
|
||||
"tool": r.Query("tool", r.FormValue("tool")),
|
||||
"scd": r.Query("scd", r.FormValue("scd")),
|
||||
"ecd": r.Query("ecd", r.FormValue("ecd")),
|
||||
},
|
||||
return RedirectToRoute(w, r,"/tags", map[string]string{
|
||||
"name": r.Query("name", r.FormValue("name")),
|
||||
"category": r.Query("category", "artworks"),
|
||||
"order": r.Query("order", "date_d"),
|
||||
"mode": r.Query("mode", "safe"),
|
||||
"ratio": r.Query("ratio"),
|
||||
"page": r.Query("page", "1"),
|
||||
"wlt": r.Query("wlt", r.FormValue("wlt")),
|
||||
"wgt": r.Query("wgt", r.FormValue("wgt")),
|
||||
"hlt": r.Query("hlt", r.FormValue("hlt")),
|
||||
"hgt": r.Query("hgt", r.FormValue("hgt")),
|
||||
"tool": r.Query("tool", r.FormValue("tool")),
|
||||
"scd": r.Query("scd", r.FormValue("scd")),
|
||||
"ecd": r.Query("ecd", r.FormValue("ecd")),
|
||||
}, http.StatusFound)
|
||||
}
|
||||
|
||||
+1
-1
@@ -21,7 +21,7 @@ func fetchData(r CompatRequest, getTags bool) (userPageData, error) {
|
||||
if _, err := strconv.Atoi(id); err != nil {
|
||||
return userPageData{}, err
|
||||
}
|
||||
category := core.UserArtCategory(r.Request.Params("category", string(core.UserArt_Any)))
|
||||
category := core.UserArtCategory(r.Params("category", string(core.UserArt_Any)))
|
||||
err := category.Validate()
|
||||
if err != nil {
|
||||
return userPageData{}, err
|
||||
|
||||
+1
-1
@@ -51,7 +51,7 @@ func SetCookie(w http.ResponseWriter, name CookieName, value string) {
|
||||
Value: value,
|
||||
Path: "/",
|
||||
// expires in 30 days from now
|
||||
Expires: r.Context().Time().Add(30 * (24 * time.Hour)),
|
||||
Expires: time.Now().Add(30 * (24 * time.Hour)),
|
||||
HttpOnly: true,
|
||||
Secure: true,
|
||||
SameSite: http.SameSiteStrictMode, // bye-bye cross site forgery
|
||||
|
||||
Reference in New Issue
Block a user