(release)
| 218 | |
| 219 | @app.put("/upload/<int:release>/assets") |
| 220 | async def upload_asset(release): |
| 221 | filename = request.args["name"] |
| 222 | release = get_release(release=release) |
| 223 | |
| 224 | if (fault := release.fault0) is not None: |
| 225 | logging.info(f"{filename}: injecting fault0") |
| 226 | release.fault0 = None |
| 227 | return await fault() |
| 228 | |
| 229 | logging.info(f"{filename}: upload begin") |
| 230 | upload = Upload(filename, request.args.get("label")) |
| 231 | async for chunk in request.body: |
| 232 | logging.debug(f"{filename}: {len(chunk)=}") |
| 233 | upload.update(chunk) |
| 234 | if (fault := release.fault1) is not None: |
| 235 | if "SHA256" not in filename: |
| 236 | logging.info(f"{filename}: injecting fault1") |
| 237 | release.fault1 = None |
| 238 | return await fault() |
| 239 | |
| 240 | asset = upload.to_asset() |
| 241 | logging.info(f"{filename}: upload complete, {asset.sha256=}") |
| 242 | release.assets.append(asset) |
| 243 | return asset.render() |
| 244 | |
| 245 | |
| 246 | @app.route("/get_asset/<int:id>") |
nothing calls this directly
no test coverage detected