@@ -105,76 +105,71 @@ func EncodeError(_ context.Context, err error, w http.ResponseWriter) {
105
105
}
106
106
107
107
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 :
113
110
err = unwrap (err )
114
111
w .WriteHeader (http .StatusForbidden )
115
112
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 :
119
114
err = unwrap (err )
120
115
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 :
157
152
err = unwrap (err )
158
153
w .WriteHeader (http .StatusBadRequest )
159
154
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 :
164
159
err = unwrap (err )
165
160
w .WriteHeader (http .StatusUnprocessableEntity )
166
161
167
- case errors . Contains ( err , svcerr .ErrNotFound ) ,
168
- errors . Contains ( err , bootstrap .ErrBootstrap ) :
162
+ case * svcerr.NotFoundError ,
163
+ * bootstrap.BootstrapError :
169
164
err = unwrap (err )
170
165
w .WriteHeader (http .StatusNotFound )
171
166
172
- case errors .Contains ( err , errors . ErrStatusAlreadyAssigned ) ,
173
- errors . Contains ( err , svcerr .ErrConflict ) :
167
+ case * errors.StatusAlreadyAssignedError ,
168
+ * svcerr.ConflictError :
174
169
err = unwrap (err )
175
170
w .WriteHeader (http .StatusConflict )
176
171
177
- case errors . Contains ( err , apiutil .ErrUnsupportedContentType ) :
172
+ case * apiutil.UnsupportedContentTypeError :
178
173
err = unwrap (err )
179
174
w .WriteHeader (http .StatusUnsupportedMediaType )
180
175
0 commit comments