mirror of
https://github.com/superseriousbusiness/gotosocial
synced 2025-06-05 21:59:39 +02:00
[chore]: Bump github.com/gin-contrib/sessions from 0.0.5 to 1.0.0 (#2782)
This commit is contained in:
29
vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/string_codec.go
generated
vendored
29
vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/string_codec.go
generated
vendored
@ -15,26 +15,46 @@ import (
|
||||
"go.mongodb.org/mongo-driver/bson/bsontype"
|
||||
)
|
||||
|
||||
// StringCodec is the Codec used for struct values.
|
||||
// StringCodec is the Codec used for string values.
|
||||
//
|
||||
// Deprecated: StringCodec will not be directly accessible in Go Driver 2.0. To
|
||||
// override the default string encode and decode behavior, create a new registry
|
||||
// with [go.mongodb.org/mongo-driver/bson.NewRegistry] and register a new
|
||||
// encoder and decoder for strings.
|
||||
//
|
||||
// For example,
|
||||
//
|
||||
// reg := bson.NewRegistry()
|
||||
// reg.RegisterKindEncoder(reflect.String, myStringEncoder)
|
||||
// reg.RegisterKindDecoder(reflect.String, myStringDecoder)
|
||||
type StringCodec struct {
|
||||
// DecodeObjectIDAsHex specifies if object IDs should be decoded as their hex representation.
|
||||
// If false, a string made from the raw object ID bytes will be used. Defaults to true.
|
||||
//
|
||||
// Deprecated: Decoding object IDs as raw bytes will not be supported in Go Driver 2.0.
|
||||
DecodeObjectIDAsHex bool
|
||||
}
|
||||
|
||||
var (
|
||||
defaultStringCodec = NewStringCodec()
|
||||
|
||||
_ ValueCodec = defaultStringCodec
|
||||
// Assert that defaultStringCodec satisfies the typeDecoder interface, which allows it to be
|
||||
// used by collection type decoders (e.g. map, slice, etc) to set individual values in a
|
||||
// collection.
|
||||
_ typeDecoder = defaultStringCodec
|
||||
)
|
||||
|
||||
// NewStringCodec returns a StringCodec with options opts.
|
||||
//
|
||||
// Deprecated: NewStringCodec will not be available in Go Driver 2.0. See
|
||||
// [StringCodec] for more details.
|
||||
func NewStringCodec(opts ...*bsonoptions.StringCodecOptions) *StringCodec {
|
||||
stringOpt := bsonoptions.MergeStringCodecOptions(opts...)
|
||||
return &StringCodec{*stringOpt.DecodeObjectIDAsHex}
|
||||
}
|
||||
|
||||
// EncodeValue is the ValueEncoder for string types.
|
||||
func (sc *StringCodec) EncodeValue(ectx EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error {
|
||||
func (sc *StringCodec) EncodeValue(_ EncodeContext, vw bsonrw.ValueWriter, val reflect.Value) error {
|
||||
if val.Kind() != reflect.String {
|
||||
return ValueEncoderError{
|
||||
Name: "StringEncodeValue",
|
||||
@ -46,7 +66,7 @@ func (sc *StringCodec) EncodeValue(ectx EncodeContext, vw bsonrw.ValueWriter, va
|
||||
return vw.WriteString(val.String())
|
||||
}
|
||||
|
||||
func (sc *StringCodec) decodeType(dc DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) {
|
||||
func (sc *StringCodec) decodeType(_ DecodeContext, vr bsonrw.ValueReader, t reflect.Type) (reflect.Value, error) {
|
||||
if t.Kind() != reflect.String {
|
||||
return emptyValue, ValueDecoderError{
|
||||
Name: "StringDecodeValue",
|
||||
@ -71,6 +91,7 @@ func (sc *StringCodec) decodeType(dc DecodeContext, vr bsonrw.ValueReader, t ref
|
||||
if sc.DecodeObjectIDAsHex {
|
||||
str = oid.Hex()
|
||||
} else {
|
||||
// TODO(GODRIVER-2796): Return an error here instead of decoding to a garbled string.
|
||||
byteArray := [12]byte(oid)
|
||||
str = string(byteArray[:])
|
||||
}
|
||||
|
Reference in New Issue
Block a user