Last active
May 17, 2019 21:00
-
-
Save erickvieira/714ba36af77aceabdec12ce2136c78c2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Códigos HTTP tipicamente usados em retornos do servidor. | |
*/ | |
public enum HttpStatusPtBr { | |
/** | |
* Solicitação aceita. | |
*/ | |
ACCEPTED(202, "solicitacao aceita"), | |
/** | |
* Solicitação ambígua ou inconsistente. | |
*/ | |
AMBIGUOUS(300, "solicitacao ambigua ou inconsistente"), | |
/** | |
* Erro inesperado de comunicação entre servidores. | |
*/ | |
BAD_GATEWAY(502, "erro inesperado de comunicacao entre servidores"), | |
/** | |
* Comportamento inesperado do servidor. | |
*/ | |
BAD_REQUEST(400, "comportamento inesperado do servidor"), | |
/** | |
* Solicitação negada devido a um conflito de informações no servidor. | |
*/ | |
CONFLICT(409, "solicitacao negada devido a um conflito de informacoes no servidor"), | |
/** | |
* O cliente pode continuar sua operação. | |
*/ | |
CONTINUE(100, "o cliente pode continuar sua operacao"), | |
/** | |
* Um novo artefado foi criado. | |
*/ | |
CREATED(202, "um novo artefato foi criado"), | |
/** | |
* Uma expectativa definida no cabeçalho da requisição não pôde ser atendida pelo servidor. | |
*/ | |
EXPECTATION_FAILED(417, "uma expectativa definida no cabecalho da requisicao nao pode ser atendida pelo servidor"), | |
/** | |
* O servidor se recusa a atender a solicitação. | |
*/ | |
FORBIDEN(403, "o servidor se recusa a atender a solicitacao"), | |
/** | |
* Rota de redirecionamento POST encontrada. | |
*/ | |
FOUND(302, "rota de redirecionamento post encontrada"), | |
/** | |
* Servidor indisponível ou inatingível no momento. | |
*/ | |
GATEWAY_TIMEOUT(504, "servidor indisponivel ou inatingivel no momento"), | |
/** | |
* O artefato solicitado não está mais disponível. | |
*/ | |
GONE(410, "o artefato solicitado nao esta mais disponivel"), | |
/** | |
* O servidor não suporta a versão do Protocolo HTTP informada. | |
*/ | |
HTTP_VERSION_NOT_SUPPORTED(505, "o servidor nao suporta a versao do protocolo http informada"), | |
/** | |
* Erro interno do servidor. | |
*/ | |
INTERNAL_SERVER_ERROR(500, "erro interno do servidor"), | |
/** | |
* A notação de caneçalho Content-lenght está ausente. | |
*/ | |
LENGHT_REQUIRED(411, "a notacao de cabecalho content-lenght esta ausente"), | |
METHOD_NOT_ALLOWED(405, "a rota atual nao suporta o metodo solicitado"), | |
MOVED(301, "as informacoes solicitadas foram movidas para o link na notacao de cabecalho location"), | |
MOVED_PERMANENTLY(301, "as informacoes solicitadas foram movidas irreversivelmente para o link na notacao de cabecalho location"), | |
MULTIPLE_CHOICES(300, "ha multiplas opcoes de redirecionamento na notacao de cabecalho location"), | |
NO_CONTENT(204, "a solicitacao foi aceita e gerou uma resposta em branco"), | |
NON_AUTHORITATIVE_INFORMATION(203, "a notacao de cabecalho authorization fornecida e um cache do servidor de origem ou do cliente solicitante"), | |
NOT_ACCEPTABLE(406, "a notacao de cabecalho accept nao permite retornar nenhuma representacao do artefato solicitado"), | |
NOT_FOUND(404, "o artefato solicitado nao foi encontrado no servidor"), | |
NOT_IMPLEMENTED(501, "o servidor nao da suporte a funcao solicitada"), | |
NOT_MODIFIED(304, "nao ha diferencas entre a informacao armazenada em cache no cliente e sua conta-parte no servidor"), | |
OK(200, "a solicitacao foi recebida e as informacoes de retornos estao disponiveis no corpo da mensagem"), | |
PARTIAL_CONTENT(206, "a solicitacao foi aceita e a resposta parcial esta sendo enviada"), | |
PAYMENT_REQUIRED(402, "o artefato solicitado esta reservado para uso futuro"), | |
PRECONDITION_FAILED(412, "as condicoes definidas no cabecalho da solicitacao falharam"), | |
PROXY_AUTHENTICATION_REQUIRED(407, "o proxy solicitado necessita de autenticacao por parte do cliente"), | |
REDIRECTED(302, "a solicitacao foi redirencinada para outro servidor"), | |
REDIRECT_KEEP_VERB(307, "a solicitacao foi redirencinada para outro servidor"), | |
REDIRECT_METHOD(303, "a solicitacao foi redirencinada para outro servidor"), | |
REQUEST_ENTITY_TOO_LARGE(413, "a solicitacao e muito grande para o servidor processar"), | |
REQUEST_TIMEOUT(408, "o cliente nao enviou a solicitacao dentro do prazo estabelecido pelo servidor"), | |
REQUEST_URI_TOO_LONG(414, "a uri informada e muito longa"), | |
RESET_CONTENT(205, "o cliente deve redefinir o artefato atual"), | |
SEE_OTHER(303, "a solicitacao esta sendo automaticamente redirecionada para a uri presente na notacao de cabecalho location"), | |
SERVICE_UNAVAILABEL(503, "servidor temporariamente indisponivel"), | |
SWITCHING_PROTOCOLS(101, "a versao do protocolo http esta sendo alterada"), | |
TEMPORARY_REDIRECT(307, "redirecionamento temporario para a uri presente na notacao de cabecalho location"), | |
UNAUTHORIZED(401, "o artefato solicitado necessita de autenticacao previa"), | |
UNSUPORTED_MEDIA_TYPE(415, "a solicitacao feita e de um tipo nao suportado"), | |
UNUSED(306, "solicitacao recebida porem inutil"), | |
UPGRADE_REQUIRED(426, "sera necessario trocar de protocolo para ter acesso o artefato solicitado"), | |
USE_PROXY(305, "servidor de proxy nao configurado na uri"); | |
private int code; | |
private String msg; | |
HttpStatusPtBr( | |
final int code, | |
final String msg | |
) { | |
this.code = code; | |
this.msg = msg; | |
} | |
public int getCode() { | |
return this.code; | |
} | |
public String getMsg() { | |
return this.msg; | |
} | |
public String toJSON(final String detalhes) { | |
if (this.code == 204) { | |
return ""; | |
} | |
String json = String.format( | |
"{" + | |
"\"codigo\": \"%d\", " + | |
"\"mensagem\": \"%s\"" + | |
"@!detalhes!@" + | |
"}", | |
this.code, | |
this.msg | |
); | |
if (detalhes != null && !detalhes.isEmpty()) { | |
json = json.replace("@!detalhes!@", String.format( | |
", \"detalhes\": \"%s\" ", | |
detalhes | |
)); | |
} else json = json.replace("@!detalhes!@", " "); | |
return json; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment