浏览代码

adapting paths to incorporate prefix paths of a reverse proxy

Rodja Trappe 4 年之前
父节点
当前提交
e5e82d5f8c

+ 1 - 1
nicegui/static/templates/favicon.html

@@ -17,7 +17,7 @@
     {% if page_options.favicon.startswith('http') %}
         <link rel="shortcut icon" href={{ page_options.favicon }}>
     {% else %}
-        <link rel="shortcut icon" href={{ url_for(options.static_name, path=page_options.favicon) }}>
+        <link rel="shortcut icon" href={{ request.headers.get('X-Forwarded-Prefix','') + options.static_name + '/' + page_options.favicon }}>
     {% endif %}
 {% else %}
     <link rel="shortcut icon" href='https://elimintz.github.io/favicon.png'>

+ 1 - 1
nicegui/static/templates/highcharts.html

@@ -48,7 +48,7 @@
     {#Must be last#}
     <script src="https://code.highcharts.com/stock/modules/boost.js"></script>
 {% else %}
-    <script src="/templates/local/highcharts.js"></script>
+    <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/highcharts.js"></script>
 {% endif %}
 
 

+ 3 - 2
nicegui/static/templates/main.html

@@ -51,10 +51,11 @@
         } else {
             protocol_string = 'ws://'
         }
+        path_prefix = '{{ request.headers.get('X-Forwarded-Prefix','') }}'
         if (location.port) {
-            var socket = new WebSocket(protocol_string + document.domain + ':' + location.port);
+            var socket = new WebSocket(protocol_string + document.domain + ':' + location.port + path_prefix );
         } else {
-            var socket = new WebSocket(protocol_string + document.domain);
+            var socket = new WebSocket(protocol_string + document.domain + path_prefix);
         }
 
         socket.addEventListener('open', function (event) {

+ 15 - 16
nicegui/static/templates/quasar.html

@@ -1,7 +1,6 @@
 <!DOCTYPE html>
 <html>
 <head>
-
     {% include 'favicon.html' %}
 
         {% if options.tailwind %}
@@ -11,10 +10,10 @@
                 <link rel="stylesheet" href="https://unpkg.com/@tailwindcss/typography@^0.1.2/dist/typography.min.css">
                 <link rel="stylesheet" href="https://unpkg.com/tailwindcss@^1.4.6/dist/utilities.min.css">
             {% else %}
-                <link href="/templates/local/tailwind/base.css" rel="stylesheet">
-                <link href="/templates/local/tailwind/components.css" rel="stylesheet">
-                <link href="/templates/local/tailwind/typography.css" rel="stylesheet">
-                <link href="/templates/local/tailwind/utilities.css" rel="stylesheet">
+                <link href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/tailwind/base.css" rel="stylesheet">
+                <link href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/tailwind/components.css" rel="stylesheet">
+                <link href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/tailwind/typography.css" rel="stylesheet">
+                <link href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/tailwind/utilities.css" rel="stylesheet">
             {% endif %}
             <style>
                 {% include 'css/form.css' %}
@@ -34,12 +33,12 @@
             <link href="https://cdn.jsdelivr.net/npm/quasar@^1.0.3/dist/quasar.min.css" rel="stylesheet" type="text/css">
         {% endif %}
     {% else %}
-        <link rel="stylesheet" href="/templates/local/robotofont/robotofont.css"/>
-        <link rel="stylesheet" href="/templates/local/ionicons/ionicons.css"/>
-        <link rel="stylesheet" href="/templates/local/materialdesignicons/iconfont/material-icons.css"/>
-        <link rel="stylesheet" href="/templates/local/fontawesome/css/all.min.css"/>
-        <link rel="stylesheet" href="/templates/local/animate.css"/>
-        <link rel="stylesheet" href="/templates/local/quasar.css"/>
+        <link rel="stylesheet" href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/robotofont/robotofont.css"/>
+        <link rel="stylesheet" href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/ionicons/ionicons.css"/>
+        <link rel="stylesheet" href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/materialdesignicons/iconfont/material-icons.css"/>
+        <link rel="stylesheet" href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/fontawesome/css/all.min.css"/>
+        <link rel="stylesheet" href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/animate.css"/>
+        <link rel="stylesheet" href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/quasar.css"/>
     {% endif %}
 
     <style>
@@ -56,7 +55,7 @@
         {% if not options.no_internet %}
             <script src="https://unpkg.com/ag-grid-community/dist/ag-grid-community.min.js"></script>
         {% else %}
-            <script src="/templates/local/ag-grid-community.js"></script>
+            <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/ag-grid-community.js"></script>
         {% endif %}
     {% endif %}
 
@@ -64,7 +63,7 @@
         {% if not options.no_internet %}
             <script src="https://unpkg.com/ag-grid-enterprise/dist/ag-grid-enterprise.min.js"></script>
         {% else %}
-            <script src="/templates/local/ag-grid-enterprise.js"></script>
+            <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/ag-grid-enterprise.js"></script>
         {% endif %}
     {% endif %}
 
@@ -87,9 +86,9 @@
         {% endif %}
 
     {% else %}
-        <script src="/templates/local/jquery.js"></script>
-        <script src="/templates/local/vue.js"></script>
-        <script src="/templates/local/quasar.js"></script>
+        <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/jquery.js"></script>
+        <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/vue.js"></script>
+        <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/quasar.js"></script>
     {% endif %}
 
     <div id="components">

+ 10 - 10
nicegui/static/templates/tailwind.html

@@ -12,10 +12,10 @@
                 <link rel="stylesheet" href="https://unpkg.com/@tailwindcss/typography@^0.1.2/dist/typography.min.css">
                 <link rel="stylesheet" href="https://unpkg.com/tailwindcss@^1.4.6/dist/utilities.min.css">
             {% else %}
-                <link href="/templates/local/tailwind/base.css" rel="stylesheet">
-                <link href="/templates/local/tailwind/components.css" rel="stylesheet">
-                <link href="/templates/local/tailwind/typography.css" rel="stylesheet">
-                <link href="/templates/local/tailwind/utilities.css" rel="stylesheet">
+                <link href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/tailwind/base.css" rel="stylesheet">
+                <link href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/tailwind/components.css" rel="stylesheet">
+                <link href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/tailwind/typography.css" rel="stylesheet">
+                <link href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/tailwind/utilities.css" rel="stylesheet">
             {% endif %}
             <style>
                 {% include 'css/form.css' %}
@@ -27,8 +27,8 @@
             <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.9.0/css/all.css"/>
             <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/animate.css/3.7.0/animate.min.css"/>
         {% else %}
-            <link rel="stylesheet" href="/templates/local/fontawesome/css/all.min.css"/>
-            <link rel="stylesheet" href="/templates/local/animate.css"/>
+            <link rel="stylesheet" href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/fontawesome/css/all.min.css"/>
+            <link rel="stylesheet" href="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/animate.css"/>
         {% endif %}
 
         <style>
@@ -42,8 +42,8 @@
                 <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
                 <script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.6.11/vue.min.js"></script>
             {% else %}
-                <script src="/templates/local/jquery.js"></script>
-                <script src="/templates/local/vue.js"></script>
+                <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/jquery.js"></script>
+                <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/vue.js"></script>
             {% endif %}
         {% endif %}
 
@@ -55,7 +55,7 @@
             {% if not options.no_internet %}
                 <script src="https://unpkg.com/ag-grid-community/dist/ag-grid-community.min.js"></script>
             {% else %}
-                <script src="/templates/local/ag-grid-community.js"></script>
+                <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/ag-grid-community.js"></script>
             {% endif %}
         {% endif %}
 
@@ -63,7 +63,7 @@
             {% if not options.no_internet %}
                 <script src="https://unpkg.com/ag-grid-enterprise/dist/ag-grid-enterprise.min.js"></script>
             {% else %}
-                <script src="/templates/local/ag-grid-enterprise.js"></script>
+                <script src="{{ request.headers.get('X-Forwarded-Prefix','') }}/templates/local/ag-grid-enterprise.js"></script>
             {% endif %}
         {% endif %}
     </head>