Compare commits

..

2 Commits

Author SHA1 Message Date
9960eb4f4c 🐛 The server side request do not take compression 2025-10-04 18:46:38 +08:00
7d4e26bce4 Rollback zlib usage 2025-10-04 18:44:58 +08:00
2 changed files with 5 additions and 8 deletions

View File

@@ -1,12 +1,13 @@
// Solar Network aka the api client // Solar Network aka the api client
import { keysToCamel, keysToSnake } from "~/utils/transformKeys" import { keysToCamel, keysToSnake } from "~/utils/transformKeys"
import zlib from "zlib"
export const useSolarNetwork = () => { export const useSolarNetwork = () => {
const apiBase = useSolarNetworkUrl() const apiBase = useSolarNetworkUrl()
// Forward cookies from the incoming request // Forward cookies from the incoming request
const headers: HeadersInit = import.meta.server ? useRequestHeaders() : {} const headers: HeadersInit = import.meta.server
? { ...useRequestHeaders(), "accept-encoding": "identity" }
: {}
return $fetch.create({ return $fetch.create({
baseURL: apiBase, baseURL: apiBase,
@@ -28,10 +29,7 @@ export const useSolarNetwork = () => {
if (encoding) { if (encoding) {
console.log("[useSolarNetwork] Response encoding: ", encoding) console.log("[useSolarNetwork] Response encoding: ", encoding)
} }
if (encoding === "gzip") { // Then transform keys if applicable
const buffer = Buffer.from(response._data)
response._data = JSON.parse(zlib.gunzipSync(buffer).toString("utf-8"))
}
if (response._data) { if (response._data) {
response._data = keysToCamel(response._data) response._data = keysToCamel(response._data)
} }

View File

@@ -47,8 +47,7 @@
"unified": "^11.0.5", "unified": "^11.0.5",
"vue": "^3.5.21", "vue": "^3.5.21",
"vue-router": "^4.5.1", "vue-router": "^4.5.1",
"vuetify-nuxt-module": "0.18.7", "vuetify-nuxt-module": "0.18.7"
"zlib": "^1.0.5"
}, },
"devDependencies": { "devDependencies": {
"@mdi/font": "^7.4.47", "@mdi/font": "^7.4.47",