@@ -105,76 +105,71 @@ func EncodeError(_ context.Context, err error, w http.ResponseWriter) {
105105 }
106106
107107 w .Header ().Set ("Content-Type" , ContentType )
108- switch {
109- case errors .Contains (err , svcerr .ErrAuthorization ),
110- errors .Contains (err , svcerr .ErrDomainAuthorization ),
111- errors .Contains (err , bootstrap .ErrExternalKey ),
112- errors .Contains (err , bootstrap .ErrExternalKeySecure ):
108+ switch err .(type ) {
109+ case * svcerr.AuthorizationError , * svcerr.DomainAuthorizationError , * bootstrap.ExternalKeyError , * bootstrap.ExternalKeySecureError :
113110 err = unwrap (err )
114111 w .WriteHeader (http .StatusForbidden )
115112
116- case errors .Contains (err , svcerr .ErrAuthentication ),
117- errors .Contains (err , apiutil .ErrBearerToken ),
118- errors .Contains (err , svcerr .ErrLogin ):
113+ case * svcerr.AuthenticationError , * apiutil.BearerTokenError , * svcerr.LoginError :
119114 err = unwrap (err )
120115 w .WriteHeader (http .StatusUnauthorized )
121- case errors . Contains ( err , svcerr .ErrMalformedEntity ) ,
122- errors . Contains ( err , apiutil .ErrMalformedPolicy ) ,
123- errors . Contains ( err , apiutil .ErrMissingSecret ) ,
124- errors .Contains ( err , errors . ErrMalformedEntity ) ,
125- errors . Contains ( err , apiutil .ErrMissingID ) ,
126- errors . Contains ( err , apiutil .ErrMissingName ) ,
127- errors . Contains ( err , apiutil .ErrMissingEmail ) ,
128- errors . Contains ( err , apiutil .ErrMissingHost ) ,
129- errors . Contains ( err , apiutil .ErrInvalidResetPass ) ,
130- errors . Contains ( err , apiutil .ErrEmptyList ) ,
131- errors . Contains ( err , apiutil .ErrMissingMemberKind ) ,
132- errors . Contains ( err , apiutil .ErrMissingMemberType ) ,
133- errors . Contains ( err , apiutil .ErrLimitSize ) ,
134- errors . Contains ( err , apiutil .ErrBearerKey ) ,
135- errors . Contains ( err , svcerr .ErrInvalidStatus ) ,
136- errors . Contains ( err , apiutil .ErrNameSize ) ,
137- errors . Contains ( err , apiutil .ErrInvalidIDFormat ) ,
138- errors . Contains ( err , apiutil .ErrInvalidQueryParams ) ,
139- errors . Contains ( err , apiutil .ErrMissingRelation ) ,
140- errors . Contains ( err , apiutil .ErrValidation ) ,
141- errors . Contains ( err , apiutil .ErrMissingIdentity ) ,
142- errors . Contains ( err , apiutil .ErrMissingPass ) ,
143- errors . Contains ( err , apiutil .ErrMissingConfPass ) ,
144- errors . Contains ( err , apiutil .ErrPasswordFormat ) ,
145- errors . Contains ( err , svcerr .ErrInvalidRole ) ,
146- errors . Contains ( err , svcerr .ErrInvalidPolicy ) ,
147- errors . Contains ( err , apiutil .ErrInvitationState ) ,
148- errors . Contains ( err , apiutil .ErrInvalidAPIKey ) ,
149- errors . Contains ( err , svcerr .ErrViewEntity ) ,
150- errors . Contains ( err , apiutil .ErrBootstrapState ) ,
151- errors . Contains ( err , apiutil .ErrMissingCertData ) ,
152- errors . Contains ( err , apiutil .ErrInvalidContact ) ,
153- errors . Contains ( err , apiutil .ErrInvalidTopic ) ,
154- errors . Contains ( err , bootstrap .ErrAddBootstrap ) ,
155- errors . Contains ( err , apiutil .ErrInvalidCertData ) ,
156- errors . Contains ( err , apiutil .ErrEmptyMessage ) :
116+ case * svcerr.MalformedEntityError ,
117+ * apiutil.MalformedPolicyError ,
118+ * apiutil.MissingSecretError ,
119+ * errors.MalformedEntityError ,
120+ * apiutil.MissingIDError ,
121+ * apiutil.MissingNameError ,
122+ * apiutil.MissingEmailError ,
123+ * apiutil.MissingHostError ,
124+ * apiutil.InvalidResetPassError ,
125+ * apiutil.EmptyListError ,
126+ * apiutil.MissingMemberKindError ,
127+ * apiutil.MissingMemberTypeError ,
128+ * apiutil.LimitSizeError ,
129+ * apiutil.BearerKeyError ,
130+ * svcerr.InvalidStatusError ,
131+ * apiutil.NameSizeError ,
132+ * apiutil.InvalidIDFormatError ,
133+ * apiutil.InvalidQueryParamsError ,
134+ * apiutil.MissingRelationError ,
135+ * apiutil.ValidationError ,
136+ * apiutil.MissingIdentityError ,
137+ * apiutil.MissingPassError ,
138+ * apiutil.MissingConfPassError ,
139+ * apiutil.PasswordFormatError ,
140+ * svcerr.InvalidRoleError ,
141+ * svcerr.InvalidPolicyError ,
142+ * apiutil.InvitationStateError ,
143+ * apiutil.InvalidAPIKeyError ,
144+ * svcerr.ViewEntityError ,
145+ * apiutil.BootstrapStateError ,
146+ * apiutil.MissingCertDataError ,
147+ * apiutil.InvalidContactError ,
148+ * apiutil.InvalidTopicError ,
149+ * bootstrap.AddBootstrapError ,
150+ * apiutil.InvalidCertDataError ,
151+ * apiutil.EmptyMessageError :
157152 err = unwrap (err )
158153 w .WriteHeader (http .StatusBadRequest )
159154
160- case errors . Contains ( err , svcerr .ErrCreateEntity ) ,
161- errors . Contains ( err , svcerr .ErrUpdateEntity ) ,
162- errors . Contains ( err , svcerr .ErrRemoveEntity ) ,
163- errors . Contains ( err , svcerr .ErrEnableClient ) :
155+ case * svcerr.CreateEntityError ,
156+ * svcerr.UpdateEntityError ,
157+ * svcerr.RemoveEntityError ,
158+ * svcerr.EnableClientError :
164159 err = unwrap (err )
165160 w .WriteHeader (http .StatusUnprocessableEntity )
166161
167- case errors . Contains ( err , svcerr .ErrNotFound ) ,
168- errors . Contains ( err , bootstrap .ErrBootstrap ) :
162+ case * svcerr.NotFoundError ,
163+ * bootstrap.BootstrapError :
169164 err = unwrap (err )
170165 w .WriteHeader (http .StatusNotFound )
171166
172- case errors .Contains ( err , errors . ErrStatusAlreadyAssigned ) ,
173- errors . Contains ( err , svcerr .ErrConflict ) :
167+ case * errors.StatusAlreadyAssignedError ,
168+ * svcerr.ConflictError :
174169 err = unwrap (err )
175170 w .WriteHeader (http .StatusConflict )
176171
177- case errors . Contains ( err , apiutil .ErrUnsupportedContentType ) :
172+ case * apiutil.UnsupportedContentTypeError :
178173 err = unwrap (err )
179174 w .WriteHeader (http .StatusUnsupportedMediaType )
180175
0 commit comments