소스 검색

服务端请求函数打印信息优化

fogwind 1 일 전
부모
커밋
319f15fd9a
2개의 변경된 파일과 35개의 추가작업 그리고 17개의 파일을 삭제
  1. 2 2
      src/app/api/graphql/route.ts
  2. 33 15
      src/utils/bagisto/index.ts

+ 2 - 2
src/app/api/graphql/route.ts

@@ -101,12 +101,12 @@ export async function POST(req: NextRequest) {
 
         
         const response = await bagistoFetch<any>(fetchOption);
-        console.log('bagistoFetch response ------ ', response);
+
         return NextResponse.json(response.body,{
             status: response.status
         });
     } catch (error) {
-        console.log('bagistoFetch ERROR ------ ', error);
+
         return NextResponse.json(
             {
                 errors:[

+ 33 - 15
src/utils/bagisto/index.ts

@@ -1,6 +1,6 @@
 import { cookies } from "next/headers";
 import { auth } from "@/utils/auth/auth-helper";
-import { print, type DocumentNode } from "graphql";
+import { print, parse, getOperationAST, type DocumentNode } from "graphql";
 import { 
   GRAPHQL_URL, 
   REST_API_URL,
@@ -76,16 +76,27 @@ export async function getAuthorizationToken(): Promise<{token: string | null; is
   };
 }
 
+function getGraphqlOperationName(query: string | DocumentNode) {
+    const documentAST = typeof query === "string" ? parse(query) : query;
+    // 不传入 operationName 时,如果文档中只有一个操作,会自动返回该操作
+    const operation = getOperationAST(documentAST);
+    const operationName = operation && operation.name
+      ? operation.name.value
+      : undefined;
+    
+    return operationName;
+}
+
 // rest api fetch
 export async function restApiFetch<T>({
   api,
   method,
-  cache = "force-cache",
+  cache = "no-store",
   headers,
   tags,
   variables,
   isRoute = true,
-  revalidate = 60,
+  revalidate = 0,
   takeAuthorization = true, // 是否携带token,默认携带
 }: {
   api: string;
@@ -119,7 +130,10 @@ export async function restApiFetch<T>({
         Object.assign(baseHeaders, headers);
       }
     }
-    console.log('restApiFetch --- baseHeaders:', baseHeaders)
+    console.log('restApiFetch --- baseHeaders:', {
+      ...baseHeaders, 
+      apiUrl
+    })
     const param: RequestInit = {
       method: method,
       headers: baseHeaders,
@@ -144,7 +158,6 @@ export async function restApiFetch<T>({
     const result = await fetch(url, param);
 
     const body = await result.json();
-    console.log('restApiFetch --- body:', body)
     if(!isRoute) {
       if(result.status === 401) {
         const err = new Error('Authorization Bearer token is required. Please Login.');//new Error(body.message || 'Authorization Bearer token is required');
@@ -191,6 +204,8 @@ export async function serverGraphqlFetch<
   try {
     const queryString = typeof query === "string" ? query : print(query);
 
+    const operationName = getGraphqlOperationName(query);
+
     if (headers) {
       if (headers instanceof Headers) {
         headers.forEach((value, key) => (baseHeaders[key] = value));
@@ -198,7 +213,10 @@ export async function serverGraphqlFetch<
         Object.assign(baseHeaders, headers);
       }
     }
-    console.log('serverGraphqlFetch --- baseHeaders:', baseHeaders);
+    console.log('serverGraphqlFetch --- baseHeaders:', {
+      ...baseHeaders,
+      operationName
+    });
     const result = await fetch(GRAPHQL_URL, {
       method: "POST",
       headers: baseHeaders,
@@ -266,8 +284,9 @@ export async function bagistoFetch<T>({
 
     }
   try {
-    const queryString =
-      typeof query === "string" ? query : print(query);
+    const queryString = typeof query === "string" ? query : print(query);
+
+    const operationName = getGraphqlOperationName(query);
 
     if (headers) {
       if (headers instanceof Headers) {
@@ -276,12 +295,12 @@ export async function bagistoFetch<T>({
         Object.assign(baseHeaders, headers);
       }
     }
-    // let cc = await cookies();
-    // console.log('bagistoFetch --- url:', GRAPHQL_URL,isCookies);
-    // console.log('bagistoFetch --- queryString:', queryString);
-    console.log('bagistoFetch --- baseHeaders:', baseHeaders);
-    // console.log('bagistoFetch --- cookies:', cc.getAll());
-    // console.log('bagistoFetch --- variables:', variables);
+
+    console.log('bagistoFetch --- baseHeaders:', {
+      ...baseHeaders,
+      operationName
+    });
+
     const result = await fetch(GRAPHQL_URL, {
       method: "POST",
       headers: baseHeaders,
@@ -297,7 +316,6 @@ export async function bagistoFetch<T>({
     });
 
     const body = await result.json();
-    console.log('bagistoFetch --- body:',body);
     return { status: result.status, body };
   } catch (e) {
     throw e;