From c35563d82f047f23f4b616cd75f065df2fd9b2ad Mon Sep 17 00:00:00 2001 From: thatmattlove Date: Tue, 7 Sep 2021 14:08:02 -0700 Subject: [PATCH] #7162: Don't modify the original API URL when prepending `BASE_PATH` --- netbox/project-static/dist/config.js | Bin 115233 -> 115255 bytes netbox/project-static/dist/config.js.map | Bin 113569 -> 113620 bytes netbox/project-static/dist/jobs.js | Bin 115301 -> 115323 bytes netbox/project-static/dist/jobs.js.map | Bin 113548 -> 113599 bytes netbox/project-static/dist/lldp.js | Bin 115692 -> 115714 bytes netbox/project-static/dist/lldp.js.map | Bin 114017 -> 114068 bytes netbox/project-static/dist/netbox.js | Bin 323219 -> 323241 bytes netbox/project-static/dist/netbox.js.map | Bin 311709 -> 311760 bytes netbox/project-static/dist/status.js | Bin 135799 -> 135821 bytes netbox/project-static/dist/status.js.map | Bin 136080 -> 136131 bytes netbox/project-static/src/util.ts | 14 +++++++++----- 11 files changed, 9 insertions(+), 5 deletions(-) diff --git a/netbox/project-static/dist/config.js b/netbox/project-static/dist/config.js index 23356a19d3a38e94b1ac8b4e87eae89a87eb686b..5de8d2633de48befb73df1346acee5d2ecdd5ee3 100644 GIT binary patch delta 110 zcmZ43!oIzQyn?MH(5lb{U#F`L@Yv8k*LbX&U*8 zwzf)2YHCH%2C;gXdC57YDXGO8`I?&5IjJSl89I7;dZn?pMb<^O(Mn1XUhVYrn;50H Kf8E5W!w&%M>?BYC delta 89 zcmdnq!oIMDyk93B7w diff --git a/netbox/project-static/dist/config.js.map b/netbox/project-static/dist/config.js.map index f412168a91a9a835f3d652db1afc04c55fadae5e..0fbc27486f9891cdaf752d5d58992c025c48079a 100644 GIT binary patch delta 200 zcmY+8F$%&!5Jg$goFJDFrn0gAI|<7Y)}Rr#woM_HcE&@9wKs?m$wj<{Sf_Pnt!zG@ zdH=!Or|dOl-C(Z$nYR>yNF}f#4?b85K%fe|rW&Zp0hL6#(@hlMTB}DdbL=&O65YU2 z12ozqF}N+X2B}~Xr6p2=Pgb3p@`U8-f4YNj?d{#0MV`#R4_3vve3;A39LM2lKJzaS CayiKW delta 148 zcmcceoo(TFwuUW?Q#XV;2J3`7I)>}GIywgGcsjafIfIztI^K@%Sx!2Rj*gx{QO86O z;R}-S)(Lh5>hW}R&U4mrcXafJ2*S(=1#0xnbDplTkx^3)tlSr*5lr}lR0Fkm0}0m( U*X^kr85>y`Gqyk9%J`NQ04_Q#mjD0& diff --git a/netbox/project-static/dist/jobs.js b/netbox/project-static/dist/jobs.js index ca0d2dcd1c72f2ef4e8113adb3117c75c524ab15..11715fa0d3cd5c65348c052add3c77f7a2040693 100644 GIT binary patch delta 110 zcmaFb!v4F3yn?MH(5lb{U#F`L@ZW8k*LbX&U*8 zwzf)2YHCH%2C;gXdC57YDXGO8`I?&5IjJSl89I7;dTFt?Mb<^O(Mn1XUhVYrn;50H Kf8E4bzz+Z^%Owo} delta 89 zcmey}!v3^{yv>k zTU#Y1HMOE>gIK-HyyTqHl+joYa!&3>`f^z0z3QBI_dCXeA{GuXg(RO^njp KziwjuE&u@iS|vOH delta 89 zcmZqbV1Luj-mryn<|Z?peA~1%4NdEOMO#}XB{j7oz0ADioYIukVvT%FH8qVQ+akT9 t)PkJE**ghF-mjm6&K`WmS`yHD`{@$-pu%2002199SQ&d diff --git a/netbox/project-static/dist/lldp.js.map b/netbox/project-static/dist/lldp.js.map index 26b82fe99835ada4808d9b570ed73277edfb4380..ed0fa7889227dbd8e4f5444e1d94f174012985ba 100644 GIT binary patch delta 200 zcmY+8F$%&!5Jg##c!69(n8MEb?<6csSQm}3wQUNqv@@PT!DARj$$2cjf;P^?%I5Q# z_aDsjot-{edpE~!&r3=`q7qn;2X8C|AW#LKQv@P8ppqz8x=8|DWA*4|j zfm&N41~-M)AQdd4w1Jf1omD4NJ|MaJpYGrrdwz9hk`LzJ2eYD|Ud>@-w*Bp4F5@p0 CEjf$; delta 148 zcmbR8o9*E*wuUW?lQ)Dp2J3`7I)>}GIywgGcsjafIfIztI^K@%Sx!2Rj*gx{QO86O z;R}-S)(Lh5>hW}R&U4mrcXafJ2*S(=1#0xnbDplYkx^3)tlSr*5lr}lR0Fkm0}0m( U*X_w085>y`Gqyk7%DA2#054!HS^xk5 diff --git a/netbox/project-static/dist/netbox.js b/netbox/project-static/dist/netbox.js index 89446fae733ff1fcac8e3eacd0a4c88b4f61f6ac..977ed8ae3919201f142069836c69e50eef95ebe9 100644 GIT binary patch delta 118 zcmbPyS9s-J;f5B*7N#xClAFWziVJcwOEi@9l{EFzGIL5&i!@4Y?MgLuifu!DG&HR< z(=>_|ZEcm5)YS5$4Px~&^OAE)Q&NjHiZwN>b5cv9OLg@0^m1Zt^R4r3qm`5(yxQsh So0+BCOE)ubFWt-{XAJ-nMV*ml+@Jn^)mC4b4pWEi#3Wh)zmcd zZS(btQVVhtlT#gYax{u{l$10zt)~}kW|rpGD=x^%EYVQXSJG_n-pstcdozoiH2@L5 BA0z+( diff --git a/netbox/project-static/dist/netbox.js.map b/netbox/project-static/dist/netbox.js.map index 7aec6156b649f088a975206bf84d8b5d9188d4fb..74c87d09b53286d17ce030577364aa8394d81e3f 100644 GIT binary patch delta 204 zcmbQ+EPSC^xS@ryg=q`3$^LrhAf0eW$8a52N5?=NPeX-;3d_gkaI>C-WJ)VxvdCofSj*k8iL6{k#K#iVx)8DtSh)utti>0k8BF+t cbO5z^0}0m(*X=9^n7KI_3$_cKWIpf%02z`lR{#J2 diff --git a/netbox/project-static/dist/status.js b/netbox/project-static/dist/status.js index 16a74aa394546b4ad991338253f7280f2f664b7a..e1ea8c319fdeec065ba4820cff4e1c8a6269ed6c 100644 GIT binary patch delta 3931 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 C8aUzr delta 148 zcmX@SoMXarj)pCa<-fulgLT3k9m9289UTL8JRM!LoI%WR9dAeXEGHdDM@LVfsAD3C z@CC_u>jXOj^>{iu=Q-=RJ39J91Yu@`0yTQ(IZx;M&8R5{R_+VZ2qyeNs)1U(frM*? U>vs3wj7L}*4Y%_!GHn+E0NrUSvj6}9 diff --git a/netbox/project-static/src/util.ts b/netbox/project-static/src/util.ts index 55933964b..e5730b1c8 100644 --- a/netbox/project-static/src/util.ts +++ b/netbox/project-static/src/util.ts @@ -163,17 +163,21 @@ function buildUrl(destination: string): string { // If the `origin` exists in the API path (as in the case of paginated responses), remove it. const origin = new RegExp(window.location.origin, 'g'); - let path = pathname.replaceAll(origin, ''); + let path = pathname + .replaceAll(origin, '') + .split('/') + .filter(p => p); const basePath = getBasePath(); - // If the `BASE_PATH` already exists in the URL, remove it. - if (basePath !== '' && path.includes(basePath)) { - path = path.replaceAll(basePath, ''); + // If the `BASE_PATH` already exists in the URL, and it is the first element, remove it. + if (basePath !== '' && path[0].includes(basePath)) { + const [_, ...appPath] = path; + path = ['', ...appPath]; } // Combine `BASE_PATH` with this request's path, removing _all_ slashes. - let combined = [...basePath.split('/'), ...path.split('/')].filter(p => p); + let combined = [...basePath.split('/'), ...path].filter(p => p); if (combined[0] !== '/') { // Ensure the URL has a leading slash.