Current section

Files

Jump to
kiln lib kiln responses error_response.ex
Raw

lib/kiln/responses/error_response.ex

defmodule Kiln.Responses.ErrorResponse do
alias Kiln.Responses.{ErrorDetails, ErrorResponse}
defstruct [:code, :kind, :summary, :errors]
def forbidden() do
%ErrorResponse{
code: 403,
kind: "forbidden",
summary: "forbidden",
errors: nil
}
end
def not_found() do
%ErrorResponse{
code: 404,
kind: "not-found",
summary: "not found",
errors: nil
}
end
def unprocessable(details) do
%ErrorResponse{
code: 422,
kind: "unprocessable",
summary: "unprocessable",
errors: ErrorDetails.parse(details)
}
end
def unknown() do
%ErrorResponse{
code: 500,
kind: "unknown",
summary: "unknown error",
errors: nil
}
end
end