flet-web 0.85.0.dev0__tar.gz → 0.85.0.dev1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/PKG-INFO +2 -2
  2. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/pyproject.toml +2 -2
  3. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/flet_static_files.py +15 -5
  4. flet_web-0.85.0.dev1/src/flet_web/version.py +1 -0
  5. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web.egg-info/PKG-INFO +2 -2
  6. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web.egg-info/requires.txt +1 -1
  7. flet_web-0.85.0.dev0/src/flet_web/version.py +0 -1
  8. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/README.md +0 -0
  9. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/setup.cfg +0 -0
  10. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/__init__.py +0 -0
  11. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/__init__.py +0 -0
  12. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/app.py +0 -0
  13. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/flet_app.py +0 -0
  14. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/flet_app_manager.py +0 -0
  15. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/flet_fastapi.py +0 -0
  16. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/flet_oauth.py +0 -0
  17. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/flet_upload.py +0 -0
  18. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/oauth_state.py +0 -0
  19. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/fastapi/serve_fastapi_web_app.py +0 -0
  20. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/patch_index.py +0 -0
  21. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web/uploads.py +0 -0
  22. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web.egg-info/SOURCES.txt +0 -0
  23. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web.egg-info/dependency_links.txt +0 -0
  24. {flet_web-0.85.0.dev0 → flet_web-0.85.0.dev1}/src/flet_web.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-web
3
- Version: 0.85.0.dev0
3
+ Version: 0.85.0.dev1
4
4
  Summary: Flet web client in Flutter.
5
5
  Author-email: "Appveyor Systems Inc." <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -9,7 +9,7 @@ Project-URL: Repository, https://github.com/flet-dev/flet
9
9
  Project-URL: Documentation, https://flet.dev/docs
10
10
  Requires-Python: >=3.10
11
11
  Description-Content-Type: text/markdown
12
- Requires-Dist: flet==0.85.0.dev0
12
+ Requires-Dist: flet==0.85.0.dev1
13
13
  Requires-Dist: fastapi>=0.115.12
14
14
  Requires-Dist: uvicorn[standard]>=0.35.0
15
15
 
@@ -1,13 +1,13 @@
1
1
  [project]
2
2
  name = "flet-web"
3
- version = "0.85.0.dev0"
3
+ version = "0.85.0.dev1"
4
4
  description = "Flet web client in Flutter."
5
5
  authors = [{ name = "Appveyor Systems Inc.", email = "hello@flet.dev" }]
6
6
  license = "Apache-2.0"
7
7
  readme = "README.md"
8
8
  requires-python = ">=3.10"
9
9
  dependencies = [
10
- "flet==0.85.0.dev0",
10
+ "flet==0.85.0.dev1",
11
11
  "fastapi >=0.115.12",
12
12
  "uvicorn[standard] >=0.35.0"
13
13
  ]
@@ -91,19 +91,29 @@ class FletStaticFiles(StaticFiles):
91
91
  await super().__call__(scope, receive, send)
92
92
 
93
93
  def lookup_path(self, path: str) -> tuple[str, Optional[os.stat_result]]:
94
- """Returns the index file when no match is found.
94
+ """Resolve a static file path, with SPA fallback for client-side routes.
95
+
96
+ Route-like paths (no extension, or `.html`) that don't match a file
97
+ fall back to `index.html` so the Flutter client can handle routing.
98
+ Asset-like paths (any other extension) resolve to a real `404`.
95
99
 
96
100
  Args:
97
- path (str): Resource path.
101
+ path: Requested path, relative to the mounted static root
102
+ (e.g. `"about"`, `"sample.json"`).
98
103
 
99
104
  Returns:
100
- [tuple[str, os.stat_result]]: Always returns a full path and stat result.
105
+ A `(full_path, stat_result)` tuple. When `stat_result` is
106
+ `None`, Starlette responds with `404`.
101
107
  """
102
108
  logger.debug(f"StaticFiles.lookup_path: {self.__app_mount_path} {path}")
103
109
  full_path, stat_result = super().lookup_path(path)
104
110
 
105
- # if a file cannot be found
106
- if stat_result is None:
111
+ if stat_result is not None:
112
+ return full_path, stat_result
113
+
114
+ # Not found: SPA fallback only for route-like paths.
115
+ ext = os.path.splitext(path)[1].lower()
116
+ if ext == "" or ext == ".html":
107
117
  return super().lookup_path(self.index[0])
108
118
 
109
119
  return full_path, stat_result
@@ -0,0 +1 @@
1
+ version = "0.85.0.dev1"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: flet-web
3
- Version: 0.85.0.dev0
3
+ Version: 0.85.0.dev1
4
4
  Summary: Flet web client in Flutter.
5
5
  Author-email: "Appveyor Systems Inc." <hello@flet.dev>
6
6
  License-Expression: Apache-2.0
@@ -9,7 +9,7 @@ Project-URL: Repository, https://github.com/flet-dev/flet
9
9
  Project-URL: Documentation, https://flet.dev/docs
10
10
  Requires-Python: >=3.10
11
11
  Description-Content-Type: text/markdown
12
- Requires-Dist: flet==0.85.0.dev0
12
+ Requires-Dist: flet==0.85.0.dev1
13
13
  Requires-Dist: fastapi>=0.115.12
14
14
  Requires-Dist: uvicorn[standard]>=0.35.0
15
15
 
@@ -1,3 +1,3 @@
1
- flet==0.85.0.dev0
1
+ flet==0.85.0.dev1
2
2
  fastapi>=0.115.12
3
3
  uvicorn[standard]>=0.35.0
@@ -1 +0,0 @@
1
- version = "0.85.0.dev0"
File without changes
File without changes