@@ -18,6 +18,46 @@ func ProblemNotFound(detail string) *ProblemBuilder {
1818 Detail (detail )
1919}
2020
21+ // ProblemUnauthorized returns an unauthorized problem builder.
22+ func ProblemUnauthorized (detail string ) * ProblemBuilder {
23+ return Problem (http .StatusUnauthorized ).
24+ Type (GetProblemTypeURL ("unauthorized_error" )).
25+ Title ("Unauthorized" ).
26+ Detail (detail )
27+ }
28+
29+ // ProblemForbidden returns a forbidden problem builder.
30+ func ProblemForbidden (detail string ) * ProblemBuilder {
31+ return Problem (http .StatusForbidden ).
32+ Type (GetProblemTypeURL ("forbidden_error" )).
33+ Title ("Forbidden" ).
34+ Detail (detail )
35+ }
36+
37+ // ProblemConflict returns a conflict problem builder.
38+ func ProblemConflict (detail string ) * ProblemBuilder {
39+ return Problem (http .StatusConflict ).
40+ Type (GetProblemTypeURL ("conflict_error" )).
41+ Title ("Conflict" ).
42+ Detail (detail )
43+ }
44+
45+ // ProblemUnprocessable returns an unprocessable entity problem builder.
46+ func ProblemUnprocessable (detail string ) * ProblemBuilder {
47+ return Problem (http .StatusUnprocessableEntity ).
48+ Type (GetProblemTypeURL ("unprocessable_error" )).
49+ Title ("Unprocessable Entity" ).
50+ Detail (detail )
51+ }
52+
53+ // ProblemInternal returns an internal server error problem builder.
54+ func ProblemInternal (detail string ) * ProblemBuilder {
55+ return Problem (http .StatusInternalServerError ).
56+ Type (GetProblemTypeURL ("server_error" )).
57+ Title ("Internal Server Error" ).
58+ Detail (detail )
59+ }
60+
2161// NewBadRequestProblem returns a ready-to-use bad request problem.
2262func NewBadRequestProblem (detail string ) * ProblemDetails {
2363 return ProblemBadRequest (detail ).Build ()
@@ -27,3 +67,28 @@ func NewBadRequestProblem(detail string) *ProblemDetails {
2767func NewNotFoundProblem (detail string ) * ProblemDetails {
2868 return ProblemNotFound (detail ).Build ()
2969}
70+
71+ // NewUnauthorizedProblem returns a ready-to-use unauthorized problem.
72+ func NewUnauthorizedProblem (detail string ) * ProblemDetails {
73+ return ProblemUnauthorized (detail ).Build ()
74+ }
75+
76+ // NewForbiddenProblem returns a ready-to-use forbidden problem.
77+ func NewForbiddenProblem (detail string ) * ProblemDetails {
78+ return ProblemForbidden (detail ).Build ()
79+ }
80+
81+ // NewConflictProblem returns a ready-to-use conflict problem.
82+ func NewConflictProblem (detail string ) * ProblemDetails {
83+ return ProblemConflict (detail ).Build ()
84+ }
85+
86+ // NewUnprocessableProblem returns a ready-to-use unprocessable entity problem.
87+ func NewUnprocessableProblem (detail string ) * ProblemDetails {
88+ return ProblemUnprocessable (detail ).Build ()
89+ }
90+
91+ // NewInternalProblem returns a ready-to-use internal server error problem.
92+ func NewInternalProblem (detail string ) * ProblemDetails {
93+ return ProblemInternal (detail ).Build ()
94+ }
0 commit comments