Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type MetadataProvider ¶
type MetadataProvider interface {
Metadata() (*types.EntityDescriptor, error)
}
MetadataProvider abstracts static (file-based) and dynamic (URL-based) metadata sources. Dynamic providers use context cancellation to stop background sync operations.
type StaticMetadata ¶
type StaticMetadata struct {
// contains filtered or unexported fields
}
StaticMetadata provides metadata from a static source (file or inline bytes).
func NewStaticMetadata ¶
func NewStaticMetadata(raw []byte) (*StaticMetadata, error)
NewStaticMetadata creates a MetadataProvider from raw XML bytes.
func (*StaticMetadata) Metadata ¶
func (s *StaticMetadata) Metadata() (*types.EntityDescriptor, error)
Metadata returns the pre-parsed entity descriptor.
type SyncedMetadata ¶
type SyncedMetadata struct {
// contains filtered or unexported fields
}
SyncedMetadata provides metadata from a URL with automatic refresh.
func NewSyncedMetadata ¶
func NewSyncedMetadata(ctx context.Context, uri string, ttl string, maxStale string, transport http.RoundTripper, log *logrus.Entry) (*SyncedMetadata, error)
NewSyncedMetadata creates a MetadataProvider that fetches and caches metadata from a URL.
func (*SyncedMetadata) Metadata ¶
func (s *SyncedMetadata) Metadata() (*types.EntityDescriptor, error)
Metadata returns the current cached entity descriptor.
func (*SyncedMetadata) Unmarshal ¶
func (s *SyncedMetadata) Unmarshal(raw []byte) (interface{}, error)
Unmarshal implements resource.ResourceUnmarshaller for XML metadata.