github.com/confluentinc/confluent-kafka-go@v1.9.2/schemaregistry/serde/config.go (about)

     1  /**
     2   * Copyright 2022 Confluent Inc.
     3   *
     4   * Licensed under the Apache License, Version 2.0 (the "License");
     5   * you may not use this file except in compliance with the License.
     6   * You may obtain a copy of the License at
     7   *
     8   * http://www.apache.org/licenses/LICENSE-2.0
     9   *
    10   * Unless required by applicable law or agreed to in writing, software
    11   * distributed under the License is distributed on an "AS IS" BASIS,
    12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    13   * See the License for the specific language governing permissions and
    14   * limitations under the License.
    15   */
    16  
    17  package serde
    18  
    19  // SerializerConfig is used to pass multiple configuration options to the serializers.
    20  type SerializerConfig struct {
    21  	// AutoRegisterSchemas determines whether to automatically register schemas during serialization
    22  	AutoRegisterSchemas bool
    23  	// UseSchemaID specifies a schema ID to use during serialization
    24  	UseSchemaID int
    25  	// UseLatestVersion specifies whether to use the latest schema version during serialization
    26  	UseLatestVersion bool
    27  	// NormalizeSchemas determines whether to normalize schemas during serialization
    28  	NormalizeSchemas bool
    29  }
    30  
    31  // NewSerializerConfig returns a new configuration instance with sane defaults.
    32  func NewSerializerConfig() *SerializerConfig {
    33  	c := &SerializerConfig{}
    34  
    35  	c.AutoRegisterSchemas = true
    36  	c.UseSchemaID = -1
    37  	c.UseLatestVersion = false
    38  	c.NormalizeSchemas = false
    39  
    40  	return c
    41  }
    42  
    43  // DeserializerConfig is used to pass multiple configuration options to the deserializers.
    44  type DeserializerConfig struct {
    45  }
    46  
    47  // NewDeserializerConfig returns a new configuration instance with sane defaults.
    48  func NewDeserializerConfig() *DeserializerConfig {
    49  	c := &DeserializerConfig{}
    50  
    51  	return c
    52  }