You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@apisix.apache.org by ju...@apache.org on 2020/05/22 07:24:56 UTC

[incubator-apisix-dashboard] branch next updated: feature: change request prefix (#208)

This is an automated email from the ASF dual-hosted git repository.

juzhiyuan pushed a commit to branch next
in repository https://gitbox.apache.org/repos/asf/incubator-apisix-dashboard.git


The following commit(s) were added to refs/heads/next by this push:
     new 4b256d7  feature: change request prefix (#208)
4b256d7 is described below

commit 4b256d7e33d6298fd0116ddc7e358a925428fe37
Author: bzp2010 <bz...@gmail.com>
AuthorDate: Fri May 22 15:24:51 2020 +0800

    feature: change request prefix (#208)
    
    * feature: change request prefix
    
    * fix: clean codes
    
    * fix: change API server path
    
    * feat: added SSLModule (#209)
    
    * feat: added SSLModule
    
    * feat: split routes
    
    * feat: update CurrentUser
    
    * feat: update SSL
    
    * fix: remove the prefix in netlify demo
    
    * feature: change request prefix
    
    * fix: clean codes
    
    * fix: change API server path
    
    * fix: remove the prefix in netlify demo
    
    * fix: resolve the conflict
    
    Co-authored-by: 琚致远 <ju...@apache.org>
---
 config/config.ts         | 10 ++++++++--
 src/app.tsx              |  4 +---
 src/pages/ssl/service.ts |  8 ++++----
 src/typings.d.ts         |  8 +++++++-
 src/utils/setting.ts     |  1 +
 5 files changed, 21 insertions(+), 10 deletions(-)

diff --git a/config/config.ts b/config/config.ts
index 5380df3..ab1862e 100644
--- a/config/config.ts
+++ b/config/config.ts
@@ -4,7 +4,12 @@ import defaultSettings from './defaultSettings';
 import proxy from './proxy';
 import routes from './routes';
 
-const { REACT_APP_ENV } = process.env;
+const { REACT_APP_ENV, NODE_ENV } = process.env;
+
+const getRequestPrefix = () => {
+  if (NODE_ENV === 'development') return '/api';
+  return '';
+};
 
 export default defineConfig({
   hash: true,
@@ -35,8 +40,9 @@ export default defineConfig({
     REACT_APP_ENV: REACT_APP_ENV || false,
     ADMIN_API_SCHEMA: 'http',
     ADMIN_API_HOST: '127.0.0.1:9080',
-    ADMIN_API_PATH: '/apisix/admin/',
+    ADMIN_API_PATH: '/apisix/admin',
     API_KEY: '',
+    API_REQUEST_PREFIX: getRequestPrefix(),
   },
   // Theme for antd: https://ant.design/docs/react/customize-theme-cn
   theme: {
diff --git a/src/app.tsx b/src/app.tsx
index e94290a..9e5d5fd 100644
--- a/src/app.tsx
+++ b/src/app.tsx
@@ -85,12 +85,10 @@ const errorHandler = (error: { response: Response; data: any }): Promise<Respons
 
 const adminAPIConfig = getAdminAPIConfig();
 export const request: RequestConfig = {
+  prefix: `${adminAPIConfig.schema}://${adminAPIConfig.host}${adminAPIConfig.path}${adminAPIConfig.prefix}`,
   errorHandler,
   credentials: 'same-origin',
   headers: {
-    'X-ADMIN-API-SCHEMA': adminAPIConfig.schema,
-    'X-ADMIN-API-HOST': adminAPIConfig.host,
-    'X-ADMIN-API-PATH': adminAPIConfig.path,
     'X-API-KEY': adminAPIConfig.key,
   },
 };
diff --git a/src/pages/ssl/service.ts b/src/pages/ssl/service.ts
index 922d2b2..c699570 100644
--- a/src/pages/ssl/service.ts
+++ b/src/pages/ssl/service.ts
@@ -2,18 +2,18 @@ import { request } from 'umi';
 import { transformFetchListData, transformFetchItemData } from '@/transforms/global';
 
 export const fetchList = () =>
-  request('/api/ssl').then((data) => transformFetchListData<SSLModule.SSL>(data));
+  request('/ssl').then((data) => transformFetchListData<SSLModule.SSL>(data));
 
 export const fetchItem = (key: string) =>
-  request(`/api/ssl/${key}`).then((data) => transformFetchItemData<SSLModule.SSL>(data));
+  request(`/ssl/${key}`).then((data) => transformFetchItemData<SSLModule.SSL>(data));
 
 export const remove = (key: string) =>
-  request(`/api/ssl/${key}`, {
+  request(`/ssl/${key}`, {
     method: 'DELETE',
   });
 
 export const create = (data: SSLModule.SSL) =>
-  request('/api/ssl', {
+  request('/ssl', {
     method: 'POST',
     data,
   });
diff --git a/src/typings.d.ts b/src/typings.d.ts
index 5db98a3..6eb33dc 100644
--- a/src/typings.d.ts
+++ b/src/typings.d.ts
@@ -37,11 +37,17 @@ declare let ANT_DESIGN_PRO_ONLY_DO_NOT_USE_IN_YOUR_PRODUCTION: 'site' | undefine
 
 declare const REACT_APP_ENV: 'test' | 'dev' | 'pre' | false;
 
-declare let ADMIN_API_SCHEMA; let ADMIN_API_HOST; let ADMIN_API_PATH; let API_KEY: '';
+declare let ADMIN_API_SCHEMA;
+declare let ADMIN_API_HOST;
+declare let ADMIN_API_PATH;
+declare let API_KEY: '';
+declare let API_REQUEST_PREFIX: '';
+
 declare interface AdminAPIConfig {
   schema: string;
   host: string;
   path: string;
+  prefix: string;
   key: string;
 }
 
diff --git a/src/utils/setting.ts b/src/utils/setting.ts
index 86c4f37..9b5898c 100644
--- a/src/utils/setting.ts
+++ b/src/utils/setting.ts
@@ -3,6 +3,7 @@ export const getAdminAPIConfig = (): AdminAPIConfig => {
     schema: localStorage.getItem('GLOBAL_ADMIN_API_SCHEMA') || ADMIN_API_SCHEMA,
     host: localStorage.getItem('GLOBAL_ADMIN_API_HOST') || ADMIN_API_HOST,
     path: localStorage.getItem('GLOBAL_ADMIN_API_PATH') || ADMIN_API_PATH,
+    prefix: API_REQUEST_PREFIX,
     key: localStorage.getItem('GLOBAL_ADMIN_API_KEY') || API_KEY
   };
 }