package org.security.common.eum;

/**
 * @author ：wzf
 * @apiNote ：影像平台接口异常码整理
 * @since ：Created in 2022/9/2 14:29
 */
public enum ImagePlatformEum {

		ONE(200,"200（成功）服务器已成功处理了请求"),
		TWO(201,"201（已创建）请求成功且服务器已创建了新的资源"),
		THREE(202,"202（已接受）服务器已接受了请求，但尚未对其进行处理。"),
		FOUR(203,"203（非授权信息）服务器已成功处理了请求，但返回了可能来自另一来源的信息。"),
		FIF(204,"204（无内容）服务器成功处理了请求，但未返回任何内容"),
		SIX(205,"205（重置内容）服务器成功处理了请求，但未返回任何内容。与 204 响应不同，此响应要求请求者重置文档视图（例如清除表单内容以输入新内容）。"),
		SEVEN(206,"206（部分内容）服务器成功处理了部分 GET 请求。"),
		EIGHT(207,"207 HTTP连接出现异常"),
		NINE(300,"300 服务器根据请求可执行多种操作。服务器可根据请求者(Useragent)来选择一项操作，或提供操作列表供请求者选择"),
		TEN(301,"301 请求的网页已被永久移动到新位置。服务器返回此响应（作为对GET或HEAD请求的响应）时，会自动将请求者转到新位置"),
		ELEVEN(302,"302 务器目前正从不同位置的网页响应请求，但请求者应继续使用原有位置来进行以后的请求。此代码与响应GET和HEAD请求的"),
		TWELVE(303,"303 当请求者应对不同的位置进行单独的GET请求以检索响应时，服务器会返回此代码。对于除HEAD请求之外的所有请求，服务器会自动转到其他位置"),
		THIRTEEN(304,"304 自从上次请求后，请求的网页未被修改过。服务器返回此响应时，不会返回网页内容"),
		FOURTEEN(305,"305 请求者只能使用代理访问请求的网页。如果服务器返回此响应，那么，服务器还会指明请求者应当使用的代理"),
		FIFTEEN(307,"307 服务器目前正从不同位置的网页响应请求，但请求者应继续使用原有位置来进行以后的请求"),
		SIXTEEN(400,"400 请求要求进行身份验证。登录后，服务器可能会返回对页面的此响应"),
		SEVENTEEN(403,"403 服务器拒绝请求"),
		EIGHTEEN(404,"404 服务器找不到请求的网页"),
		NINETEEN(405,"405 禁用请求中所指定的方法。"),
		TWENTY(406,"406 无法使用请求的内容特性来响应请求的网页"),
		TWENTY_ONE(407,"407 此状态代码与401（未授权）类似，但却指定了请求者应当使用代理进行授权。如果服务器返回此响应，那么，服务器还会指明请求者应当使用的代理"),
		TWENTY_TWO(408,"408 服务器等候请求时超时"),
		TWENTY_THREE(409,"409 服务器在完成请求时发生冲突"),
		TWENTY_FOUR(410,"410 如果请求的资源已被永久删除，那么，服务器会返回此响应"),
		TWENTY_FIF(411,"422 服务器不会接受包含无效内容长度标头字段的请求"),
		TWENTY_SIX(412,"412 服务器未满足请求者在请求中设置的其中一个前提条件"),
		TWENTY_SEVEN(413,"413 服务器无法处理请求，因为请求实体过大，已超出服务器的处理能力"),
		TWENTY_EIGHT(414,"414 请求的URI（通常为网址）过长，服务器无法进行处理"),
		TWENTY_NINE(415,"415 请求的格式不受请求页面的支持"),
		THIRTY(416,"416 如果请求是针对网页的无效范围进行的，那么，服务器会返回此状态代码"),
		THIRTY_ONE(417,"417 服务器未满足期望请求标头字段的要求"),
		THIRTY_TWO(500,"500 服务器遇到错误，无法完成请求"),
		THIRTY_THREE(501,"501 服务器不具备完成请求的功能。例如，当服务器无法识别请求方法时，服务器可能会返回此代码"),
		THIRTY_FOUR(502,"502 服务器作为网关或代理，从上游服务器收到了无效的响应"),
		THIRTY_FIF(503,"503 目前无法使用服务器（由于超载或进行停机维护）"),
		THIRTY_SIX(504,"504 服务器作为网关或代理，未及时从上游服务器接收请求"),
		THIRTY_SEVEN(505,"505 服务器不支持请求中所使用的HTTP协议版本"),
		UNKNOWN(-1,"UNKNOWN");


	private int  code;

	private String msg;


	ImagePlatformEum(int code, String msg) {
		this.code = code;
		this.msg = msg;
	}

	public int getCode() {
		return code;
	}

	public String getMsg() {
		return msg;
	}

	/**
	 *
	 * @param code
	 * @return
	 */
	public static ImagePlatformEum parseByCode(int code) {
		ImagePlatformEum[] items = ImagePlatformEum.values();
		for (ImagePlatformEum item : items) {
			if (item.code == code) {
				return item;
			}
		}
		return UNKNOWN;
	}

	/**
	 *
	 * @param msg
	 * @return
	 */
	public static ImagePlatformEum parseByMsg(String msg) {
		ImagePlatformEum[] items = ImagePlatformEum.values();
		for (ImagePlatformEum item : items) {
			if (item.msg.equalsIgnoreCase(msg)) {
				return item;
			}
		}
		return UNKNOWN;
	}
}
