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:
Lucas Oliveira 2024-08-26 13:24:02 -03:00 • committed by GitHub
commit f4e96b113e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 1 additions and 44 deletions

View file

@ -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]] = []

View file

@ -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",

View file

@ -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",

View file

@ -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();