Versions in this module Expand all Collapse all v1 v1.0.2 Mar 13, 2026 v1.0.1 Mar 13, 2026 Changes in this version + const MaxJARSize + const MaxRedirects + func DownloadJAR(ctx context.Context, jarURL string, httpClient *http.Client) ([]byte, error) + func SafeHTTPClient() *http.Client + func ValidateDownloadURL(rawURL string) error + type CachedPluginClient struct + func NewCachedPluginClient(client PluginClient, ttl time.Duration) *CachedPluginClient + func (c *CachedPluginClient) ClearCache() + func (c *CachedPluginClient) ClearProject(project string) + func (c *CachedPluginClient) GetCompatibility(ctx context.Context, project, version string) (CompatibilityInfo, error) + func (c *CachedPluginClient) GetVersions(ctx context.Context, project string) ([]PluginVersion, error) + type CompatibilityInfo struct + MinecraftVersions []string + PaperVersions []string + type HangarClient struct + func NewHangarClient() *HangarClient + func (c *HangarClient) GetCompatibility(ctx context.Context, project, version string) (CompatibilityInfo, error) + func (c *HangarClient) GetVersions(ctx context.Context, project string) ([]PluginVersion, error) + type JARMetadata struct + APIVersion string + Name string + Version string + func ParseJARMetadata(jarBytes []byte) (*JARMetadata, error) + type PluginClient interface + GetCompatibility func(ctx context.Context, project, version string) (CompatibilityInfo, error) + GetVersions func(ctx context.Context, project string) ([]PluginVersion, error) + type PluginVersion struct + DownloadURL string + Hash string + MinecraftVersions []string + PaperVersions []string + ReleaseDate time.Time + Version string