You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Implement HTTP client requests for extension queries and downloads with automatic resumable download support (#135)
* Initial plan
* Add ServerUrl to ExtensionHostConfig and update service to use it for downloads
Co-authored-by: JusterZhu <11714536+JusterZhu@users.noreply.github.com>
* Remove dependency on DownloadUrl property and use ServerUrl for all downloads
Co-authored-by: JusterZhu <11714536+JusterZhu@users.noreply.github.com>
* Add documentation for ServerUrl architecture and update DownloadUrl comments
Co-authored-by: JusterZhu <11714536+JusterZhu@users.noreply.github.com>
* Add URL encoding for extension names and improve URL construction comments
Co-authored-by: JusterZhu <11714536+JusterZhu@users.noreply.github.com>
* Implement HTTP GET requests for Query and Download methods with authentication support
Co-authored-by: JusterZhu <11714536+JusterZhu@users.noreply.github.com>
* Add support for resumable downloads with Range header
Co-authored-by: JusterZhu <11714536+JusterZhu@users.noreply.github.com>
* Implement automatic resume detection for downloads based on partial file existence
Co-authored-by: JusterZhu <11714536+JusterZhu@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: JusterZhu <11714536+JusterZhu@users.noreply.github.com>
The extension system uses a server-based architecture for querying and downloading extensions. The `ServerUrl` configured in `ExtensionHostConfig` serves as the base URL for all extension operations.
65
+
66
+
### URL Construction
67
+
68
+
The system automatically constructs the following endpoints:
69
+
70
+
-**Query Endpoint**: `{ServerUrl}/Query` - Used for searching and filtering extensions
71
+
-**Download Endpoint**: `{ServerUrl}/Download/{ExtensionName}` - Used for downloading extension packages
72
+
73
+
### Example
74
+
75
+
If your `ServerUrl` is `https://your-server.com/api/extensions`:
The `DownloadUrl` field in extension descriptors is now optional and primarily for backward compatibility. The system constructs download URLs dynamically from the configured ServerUrl.
87
+
57
88
## Complete Usage Guide
58
89
59
90
### 1. Dependency Injection Setup
@@ -70,25 +101,29 @@ public class YourModule : IModule
0 commit comments