🐛 Tries to fix compression issue on SSR request
This commit is contained in:
@@ -1,13 +1,12 @@
|
|||||||
// 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
|
const headers: HeadersInit = import.meta.server ? useRequestHeaders() : {}
|
||||||
? useRequestHeaders()
|
|
||||||
: {}
|
|
||||||
|
|
||||||
return $fetch.create({
|
return $fetch.create({
|
||||||
baseURL: apiBase,
|
baseURL: apiBase,
|
||||||
@@ -25,6 +24,14 @@ export const useSolarNetwork = () => {
|
|||||||
},
|
},
|
||||||
// Transform response keys from snake_case to camelCase
|
// Transform response keys from snake_case to camelCase
|
||||||
onResponse: ({ response }) => {
|
onResponse: ({ response }) => {
|
||||||
|
const encoding = response.headers.get("content-encoding")
|
||||||
|
if (encoding) {
|
||||||
|
console.log("[useSolarNetwork] Response encoding: ", encoding)
|
||||||
|
}
|
||||||
|
if (encoding === "gzip") {
|
||||||
|
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)
|
||||||
}
|
}
|
||||||
|
@@ -47,7 +47,8 @@
|
|||||||
"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",
|
||||||
|
Reference in New Issue
Block a user