lukawskikacper commited on
Commit
5bea760
·
1 Parent(s): 09acca8

Use https for all the static assets

Browse files
app/main.py CHANGED
@@ -1,3 +1,5 @@
 
 
1
  from fastapi import FastAPI, Request
2
  from fastapi.staticfiles import StaticFiles
3
  from fastapi.templating import Jinja2Templates
@@ -5,6 +7,8 @@ from fastapi.responses import HTMLResponse, RedirectResponse
5
  from fastapi.middleware.cors import CORSMiddleware
6
  from app.api import router as api_router
7
  from app.services.video_service import get_video_by_id
 
 
8
 
9
  app = FastAPI(title="In-Video Search", docs_url=None, redoc_url=None, openapi_url=None)
10
 
@@ -24,6 +28,15 @@ app.mount("/static", StaticFiles(directory="app/static"), name="static")
24
  templates = Jinja2Templates(directory="app/templates")
25
 
26
 
 
 
 
 
 
 
 
 
 
27
  @app.get("/", response_class=HTMLResponse)
28
  async def index(request: Request):
29
  return templates.TemplateResponse(
 
1
+ from typing import Any
2
+
3
  from fastapi import FastAPI, Request
4
  from fastapi.staticfiles import StaticFiles
5
  from fastapi.templating import Jinja2Templates
 
7
  from fastapi.middleware.cors import CORSMiddleware
8
  from app.api import router as api_router
9
  from app.services.video_service import get_video_by_id
10
+ from jinja2 import pass_context
11
+ from starlette.datastructures import URL
12
 
13
  app = FastAPI(title="In-Video Search", docs_url=None, redoc_url=None, openapi_url=None)
14
 
 
28
  templates = Jinja2Templates(directory="app/templates")
29
 
30
 
31
+ @pass_context
32
+ def https_url_for(context: dict, name: str, **path_params: Any) -> URL:
33
+ request: Request = context["request"]
34
+ url: URL = request.url_for(name, **path_params)
35
+ return url.replace(scheme="https")
36
+
37
+ templates.env.globals["https_url_for"] = https_url_for
38
+
39
+
40
  @app.get("/", response_class=HTMLResponse)
41
  async def index(request: Request):
42
  return templates.TemplateResponse(
app/templates/base.html CHANGED
@@ -76,7 +76,7 @@
76
  </footer>
77
 
78
  <!-- Scripts -->
79
- <script src="{{ url_for('static', path='/js/main.js') }}"></script>
80
  {% block scripts %}{% endblock %}
81
  </body>
82
  </html>
 
76
  </footer>
77
 
78
  <!-- Scripts -->
79
+ <script src="{{ https_url_for('static', path='/js/main.js') }}"></script>
80
  {% block scripts %}{% endblock %}
81
  </body>
82
  </html>
app/templates/index.html CHANGED
@@ -94,5 +94,5 @@
94
  {% endblock %}
95
 
96
  {% block scripts %}
97
- <script src="{{ url_for('static', path='/js/index.js') }}"></script>
98
  {% endblock %}
 
94
  {% endblock %}
95
 
96
  {% block scripts %}
97
+ <script src="{{ https_url_for('static', path='/js/index.js') }}"></script>
98
  {% endblock %}
app/templates/video.html CHANGED
@@ -58,5 +58,5 @@
58
  // Store the video ID in a JavaScript variable
59
  const videoId = "{{ video_id }}";
60
  </script>
61
- <script src="{{ url_for('static', path='/js/video.js') }}"></script>
62
  {% endblock %}
 
58
  // Store the video ID in a JavaScript variable
59
  const videoId = "{{ video_id }}";
60
  </script>
61
+ <script src="{{ https_url_for('static', path='/js/video.js') }}"></script>
62
  {% endblock %}