mirror of
https://github.com/sonr-io/common.git
synced 2026-01-11 20:08:57 +00:00
52 lines
1.0 KiB
Go
52 lines
1.0 KiB
Go
package cached
|
|
|
|
import (
|
|
"io"
|
|
"os"
|
|
|
|
"github.com/sonr-io/common/webauthn/metadata"
|
|
"github.com/sonr-io/common/webauthn/metadata/providers/memory"
|
|
)
|
|
|
|
func doTruncateCopyAndSeekStart(f *os.File, rc io.ReadCloser) (err error) {
|
|
if err = f.Truncate(0); err != nil {
|
|
return err
|
|
}
|
|
|
|
if _, err = io.Copy(f, rc); err != nil {
|
|
return err
|
|
}
|
|
|
|
if _, err = f.Seek(0, io.SeekStart); err != nil {
|
|
return err
|
|
}
|
|
|
|
return rc.Close()
|
|
}
|
|
|
|
func doOpenOrCreate(name string) (f *os.File, created bool, err error) {
|
|
if f, err = os.OpenFile(name, os.O_RDWR, 0); err == nil {
|
|
return f, false, nil
|
|
}
|
|
|
|
if os.IsNotExist(err) {
|
|
if f, err = os.Create(name); err != nil {
|
|
return nil, false, err
|
|
}
|
|
|
|
return f, true, nil
|
|
}
|
|
|
|
return nil, false, err
|
|
}
|
|
|
|
func defaultNew(mds *metadata.Metadata) (provider metadata.Provider, err error) {
|
|
return memory.New(
|
|
memory.WithMetadata(mds.ToMap()),
|
|
memory.WithValidateEntry(true),
|
|
memory.WithValidateEntryPermitZeroAAGUID(false),
|
|
memory.WithValidateTrustAnchor(true),
|
|
memory.WithValidateStatus(true),
|
|
)
|
|
}
|