You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
1.1 KiB
42 lines
1.1 KiB
package maxminddb |
|
|
|
import ( |
|
"fmt" |
|
"reflect" |
|
) |
|
|
|
// InvalidDatabaseError is returned when the database contains invalid data |
|
// and cannot be parsed. |
|
type InvalidDatabaseError struct { |
|
message string |
|
} |
|
|
|
func newOffsetError() InvalidDatabaseError { |
|
return InvalidDatabaseError{"unexpected end of database"} |
|
} |
|
|
|
func newInvalidDatabaseError(format string, args ...interface{}) InvalidDatabaseError { |
|
return InvalidDatabaseError{fmt.Sprintf(format, args...)} |
|
} |
|
|
|
func (e InvalidDatabaseError) Error() string { |
|
return e.message |
|
} |
|
|
|
// UnmarshalTypeError is returned when the value in the database cannot be |
|
// assigned to the specified data type. |
|
type UnmarshalTypeError struct { |
|
Value string // stringified copy of the database value that caused the error |
|
Type reflect.Type // type of the value that could not be assign to |
|
} |
|
|
|
func newUnmarshalTypeError(value interface{}, rType reflect.Type) UnmarshalTypeError { |
|
return UnmarshalTypeError{ |
|
Value: fmt.Sprintf("%v", value), |
|
Type: rType, |
|
} |
|
} |
|
|
|
func (e UnmarshalTypeError) Error() string { |
|
return fmt.Sprintf("maxminddb: cannot unmarshal %s into type %s", e.Value, e.Type.String()) |
|
}
|
|
|