go-ipp/error.go

49 lines
1.2 KiB
Go

/*
** Copyright 2022 Dolysis Consulting Limited
**
** Licensed under the Apache License, Version 2.0 (the "License");
** you may not use this file except in compliance with the License.
** You may obtain a copy of the License at
**
** http://www.apache.org/licenses/LICENSE-2.0
**
** Unless required by applicable law or agreed to in writing, software
** distributed under the License is distributed on an "AS IS" BASIS,
** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
** See the License for the specific language governing permissions and
** limitations under the License.
**
** For changes see the git log
*/
package ipp
import "fmt"
// IsNotExistsError checks a given error whether a printer or class does not exist
func IsNotExistsError(err error) bool {
if err == nil {
return false
}
return err.Error() == "The printer or class does not exist."
}
// IPPError used for non ok ipp status codes
type IPPError struct {
Status int16
Message string
}
func (e IPPError) Error() string {
return fmt.Sprintf("ipp status: %d, message: %s", e.Status, e.Message)
}
// HTTPError used for non 200 http codes
type HTTPError struct {
Code int
}
func (e HTTPError) Error() string {
return fmt.Sprintf("got http code %d", e.Code)
}