revert: add compression support to frontend and backend (#3549)
Revert "feat: add compression support to frontend and backend (#3484)"
This reverts commit b63916e3c6.
This commit is contained in:
parent
7fdfe10098
commit
f4e96b113e
4 changed files with 1 additions and 44 deletions
|
|
@ -1,5 +1,4 @@
|
||||||
import asyncio
|
import asyncio
|
||||||
import gzip
|
|
||||||
import json
|
import json
|
||||||
import os
|
import os
|
||||||
import warnings
|
import warnings
|
||||||
|
|
@ -12,7 +11,6 @@ from urllib.parse import urlencode
|
||||||
import nest_asyncio # type: ignore
|
import nest_asyncio # type: ignore
|
||||||
from fastapi import FastAPI, HTTPException, Request, Response
|
from fastapi import FastAPI, HTTPException, Request, Response
|
||||||
from fastapi.middleware.cors import CORSMiddleware
|
from fastapi.middleware.cors import CORSMiddleware
|
||||||
from fastapi.middleware.gzip import GZipMiddleware
|
|
||||||
from fastapi.responses import FileResponse, JSONResponse
|
from fastapi.responses import FileResponse, JSONResponse
|
||||||
from fastapi.staticfiles import StaticFiles
|
from fastapi.staticfiles import StaticFiles
|
||||||
from loguru import logger
|
from loguru import logger
|
||||||
|
|
@ -30,11 +28,7 @@ from langflow.initial_setup.setup import (
|
||||||
)
|
)
|
||||||
from langflow.interface.types import get_and_cache_all_types_dict
|
from langflow.interface.types import get_and_cache_all_types_dict
|
||||||
from langflow.interface.utils import setup_llm_caching
|
from langflow.interface.utils import setup_llm_caching
|
||||||
from langflow.services.deps import (
|
from langflow.services.deps import get_cache_service, get_settings_service, get_telemetry_service
|
||||||
get_cache_service,
|
|
||||||
get_settings_service,
|
|
||||||
get_telemetry_service,
|
|
||||||
)
|
|
||||||
from langflow.services.plugins.langfuse_plugin import LangfuseInstance
|
from langflow.services.plugins.langfuse_plugin import LangfuseInstance
|
||||||
from langflow.services.utils import initialize_services, teardown_services
|
from langflow.services.utils import initialize_services, teardown_services
|
||||||
from langflow.logging.logger import configure
|
from langflow.logging.logger import configure
|
||||||
|
|
@ -138,21 +132,9 @@ def create_app():
|
||||||
allow_headers=["*"],
|
allow_headers=["*"],
|
||||||
)
|
)
|
||||||
app.add_middleware(JavaScriptMIMETypeMiddleware)
|
app.add_middleware(JavaScriptMIMETypeMiddleware)
|
||||||
app.add_middleware(GZipMiddleware, minimum_size=1000, compresslevel=5)
|
|
||||||
|
|
||||||
# ! Deactivating this until we find a better solution
|
# ! Deactivating this until we find a better solution
|
||||||
# app.add_middleware(RequestCancelledMiddleware)
|
# app.add_middleware(RequestCancelledMiddleware)
|
||||||
|
|
||||||
@app.middleware("http")
|
|
||||||
async def decompress_if_gzip(request: Request, call_next):
|
|
||||||
if request.headers.get("content-encoding", "") == "gzip":
|
|
||||||
# the request's body is compressed, so we need to decompress it
|
|
||||||
body = await request.body()
|
|
||||||
dec = gzip.decompress(body)
|
|
||||||
request._body = dec # <-- if only things were that easy
|
|
||||||
response = await call_next(request)
|
|
||||||
return response
|
|
||||||
|
|
||||||
@app.middleware("http")
|
@app.middleware("http")
|
||||||
async def flatten_query_string_lists(request: Request, call_next):
|
async def flatten_query_string_lists(request: Request, call_next):
|
||||||
flattened: list[tuple[str, str]] = []
|
flattened: list[tuple[str, str]] = []
|
||||||
|
|
|
||||||
7
src/frontend/package-lock.json
generated
7
src/frontend/package-lock.json
generated
|
|
@ -57,7 +57,6 @@
|
||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"openseadragon": "^4.1.1",
|
"openseadragon": "^4.1.1",
|
||||||
"p-debounce": "^4.0.0",
|
"p-debounce": "^4.0.0",
|
||||||
"pako": "^2.1.0",
|
|
||||||
"playwright": "^1.44.1",
|
"playwright": "^1.44.1",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-ace": "^11.0.1",
|
"react-ace": "^11.0.1",
|
||||||
|
|
@ -12037,12 +12036,6 @@
|
||||||
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.0.tgz",
|
||||||
"integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw=="
|
"integrity": "sha512-dATvCeZN/8wQsGywez1mzHtTlP22H8OEfPrVMLNr4/eGa+ijtLn/6M5f0dY8UKNrC2O9UCU6SSoG3qRKnt7STw=="
|
||||||
},
|
},
|
||||||
"node_modules/pako": {
|
|
||||||
"version": "2.1.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/pako/-/pako-2.1.0.tgz",
|
|
||||||
"integrity": "sha512-w+eufiZ1WuJYgPXbV/PO3NCMEc3xqylkKHzp8bxp1uW4qaSNQUkwmLLEc3kKsfz8lpV1F8Ht3U1Cm+9Srog2ug==",
|
|
||||||
"license": "(MIT AND Zlib)"
|
|
||||||
},
|
|
||||||
"node_modules/parent-module": {
|
"node_modules/parent-module": {
|
||||||
"version": "1.0.1",
|
"version": "1.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,6 @@
|
||||||
"moment": "^2.30.1",
|
"moment": "^2.30.1",
|
||||||
"openseadragon": "^4.1.1",
|
"openseadragon": "^4.1.1",
|
||||||
"p-debounce": "^4.0.0",
|
"p-debounce": "^4.0.0",
|
||||||
"pako": "^2.1.0",
|
|
||||||
"playwright": "^1.44.1",
|
"playwright": "^1.44.1",
|
||||||
"react": "^18.3.1",
|
"react": "^18.3.1",
|
||||||
"react-ace": "^11.0.1",
|
"react-ace": "^11.0.1",
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,6 @@
|
||||||
import { LANGFLOW_ACCESS_TOKEN } from "@/constants/constants";
|
import { LANGFLOW_ACCESS_TOKEN } from "@/constants/constants";
|
||||||
import useAuthStore from "@/stores/authStore";
|
import useAuthStore from "@/stores/authStore";
|
||||||
import axios, { AxiosError, AxiosInstance, AxiosRequestConfig } from "axios";
|
import axios, { AxiosError, AxiosInstance, AxiosRequestConfig } from "axios";
|
||||||
import pako from "pako";
|
|
||||||
import { useContext, useEffect } from "react";
|
import { useContext, useEffect } from "react";
|
||||||
import { Cookies } from "react-cookie";
|
import { Cookies } from "react-cookie";
|
||||||
import { BuildStatus } from "../../constants/enums";
|
import { BuildStatus } from "../../constants/enums";
|
||||||
|
|
@ -14,22 +13,6 @@ import { useLogout, useRefreshAccessToken } from "./queries/auth";
|
||||||
// Create a new Axios instance
|
// Create a new Axios instance
|
||||||
const api: AxiosInstance = axios.create({
|
const api: AxiosInstance = axios.create({
|
||||||
baseURL: "",
|
baseURL: "",
|
||||||
transformRequest: (axios.defaults.transformRequest
|
|
||||||
? Array.isArray(axios.defaults.transformRequest)
|
|
||||||
? axios.defaults.transformRequest
|
|
||||||
: [axios.defaults.transformRequest]
|
|
||||||
: []
|
|
||||||
).concat(function (data, headers) {
|
|
||||||
// compress strings if over 1KB
|
|
||||||
if (typeof data === "string" && data.length > 1024) {
|
|
||||||
headers["Content-Encoding"] = "gzip";
|
|
||||||
return pako.gzip(data);
|
|
||||||
} else {
|
|
||||||
// delete is slow apparently, faster to set to undefined
|
|
||||||
headers["Content-Encoding"] = undefined;
|
|
||||||
return data;
|
|
||||||
}
|
|
||||||
}),
|
|
||||||
});
|
});
|
||||||
|
|
||||||
const cookies = new Cookies();
|
const cookies = new Cookies();
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue