[basic-example][m] - remove middleware
This commit is contained in:
@@ -22,7 +22,7 @@ import React, { useEffect, useMemo, useState } from "react";
|
|||||||
|
|
||||||
import parseCsv from "../lib/parseCsv";
|
import parseCsv from "../lib/parseCsv";
|
||||||
import DebouncedInput from "./DebouncedInput";
|
import DebouncedInput from "./DebouncedInput";
|
||||||
import loadUrlProxied from "../lib/loadUrlProxied";
|
import loadData from "../lib/loadData";
|
||||||
|
|
||||||
const Table = ({
|
const Table = ({
|
||||||
data: ogData = [],
|
data: ogData = [],
|
||||||
@@ -69,7 +69,7 @@ const Table = ({
|
|||||||
|
|
||||||
useEffect(() => {
|
useEffect(() => {
|
||||||
if (url) {
|
if (url) {
|
||||||
loadUrlProxied(url).then((data) => {
|
loadData(url).then((data) => {
|
||||||
const { rows, fields } = parseCsv(data);
|
const { rows, fields } = parseCsv(data);
|
||||||
setData(rows);
|
setData(rows);
|
||||||
setCols(fields);
|
setCols(fields);
|
||||||
|
|||||||
5
examples/basic-example/lib/loadData.tsx
Normal file
5
examples/basic-example/lib/loadData.tsx
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
export default async function loadData(url: string) {
|
||||||
|
const response = await fetch(url)
|
||||||
|
const data = await response.text()
|
||||||
|
return data
|
||||||
|
}
|
||||||
@@ -1,11 +0,0 @@
|
|||||||
export default async function loadUrlProxied(url: string) {
|
|
||||||
// HACK: duplicate of Excel code - maybe refactor
|
|
||||||
// if url is external may have CORS issue so we proxy it ...
|
|
||||||
if (url.startsWith("http")) {
|
|
||||||
const PROXY_URL = "/api/proxy";
|
|
||||||
url = PROXY_URL + "?url=" + encodeURIComponent(url);
|
|
||||||
}
|
|
||||||
const response = await fetch(url)
|
|
||||||
const data = await response.text()
|
|
||||||
return data
|
|
||||||
}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
// middleware.ts
|
|
||||||
import { NextResponse } from 'next/server'
|
|
||||||
import type { NextRequest } from 'next/server'
|
|
||||||
|
|
||||||
// This function can be marked `async` if using `await` inside
|
|
||||||
export async function middleware(req: NextRequest, res: NextResponse) {
|
|
||||||
const urlPaths = req.nextUrl.pathname.split('/')
|
|
||||||
const fileName = urlPaths[urlPaths.length - 1]
|
|
||||||
return NextResponse.rewrite(new URL(`/api/get-data-file?fileName=${fileName}`, req.url))
|
|
||||||
}
|
|
||||||
|
|
||||||
// See "Matching Paths" below to learn more
|
|
||||||
export const config = {
|
|
||||||
matcher: ['/:file*.csv'],
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user