mirror of
https://github.com/mainflux/mainflux.git
synced 2025-05-06 19:29:15 +08:00

* authz service init Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * authz service init Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * add proto Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * add proto Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * authorize method Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * add casbib Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * add casbib Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * add casbib Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * add policy grpc Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * add policy grpc Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * fix db connection, add environment variables, docker-compose Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * add model.conf policy Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * add model.conf policy Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * fix test Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * adding tests, and token for auth Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * revert changes Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * fix auth service Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * small changes, add model conf env var Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * remove users grpc for now Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * fix error Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * some cosmetics Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * resolvin minor comments Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * change endpoint, add file to fix test Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * fix docker env Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com> * fix alignment and path for model.conf Signed-off-by: Mirko Teodorovic <mirko.teodorovic@gmail.com>
64 lines
1.4 KiB
Go
64 lines
1.4 KiB
Go
package pg
|
|
|
|
import (
|
|
"io"
|
|
"net"
|
|
|
|
"github.com/go-pg/pg/v9/internal"
|
|
)
|
|
|
|
// ErrNoRows is returned by QueryOne and ExecOne when query returned zero rows
|
|
// but at least one row is expected.
|
|
var ErrNoRows = internal.ErrNoRows
|
|
|
|
// ErrMultiRows is returned by QueryOne and ExecOne when query returned
|
|
// multiple rows but exactly one row is expected.
|
|
var ErrMultiRows = internal.ErrMultiRows
|
|
|
|
// Error represents an error returned by PostgreSQL server
|
|
// using PostgreSQL ErrorResponse protocol.
|
|
//
|
|
// https://www.postgresql.org/docs/10/static/protocol-message-formats.html
|
|
type Error interface {
|
|
error
|
|
|
|
// Field returns a string value associated with an error code.
|
|
//
|
|
// https://www.postgresql.org/docs/10/static/protocol-error-fields.html
|
|
Field(byte) string
|
|
|
|
// IntegrityViolation reports whether an error is a part of
|
|
// Integrity Constraint Violation class of errors.
|
|
//
|
|
// https://www.postgresql.org/docs/10/static/errcodes-appendix.html
|
|
IntegrityViolation() bool
|
|
}
|
|
|
|
var _ Error = (*internal.PGError)(nil)
|
|
|
|
func isBadConn(err error, allowTimeout bool) bool {
|
|
if err == nil {
|
|
return false
|
|
}
|
|
if _, ok := err.(internal.Error); ok {
|
|
return false
|
|
}
|
|
if pgErr, ok := err.(Error); ok && pgErr.Field('S') != "FATAL" {
|
|
return false
|
|
}
|
|
if allowTimeout {
|
|
if netErr, ok := err.(net.Error); ok && netErr.Timeout() {
|
|
return false
|
|
}
|
|
}
|
|
return true
|
|
}
|
|
|
|
func isNetworkError(err error) bool {
|
|
if err == io.EOF {
|
|
return true
|
|
}
|
|
_, ok := err.(net.Error)
|
|
return ok
|
|
}
|