导航菜单

页面标题

页面副标题

新暖心缘 v8.1.1 - AutoZone.java 源代码

正在查看: 新暖心缘 v8.1.1 应用的 AutoZone.java JAVA 源代码文件

本页面展示 JAVA 反编译生成的源代码文件,支持语法高亮显示。 仅供安全研究与技术分析使用,严禁用于任何非法用途。请遵守相关法律法规。


package com.qiniu.common;

import com.qiniu.http.Client;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;

@Deprecated
public final class AutoZone extends Zone {
    public static AutoZone instance = new AutoZone();
    private Client client;
    private Map<String, Zone> inferDomainsMap;
    public final String ucServer;
    private Map<ZoneIndex, ZoneInfo> zones;

    private class UCRet {
        Map<String, List<String>> http;
        Map<String, List<String>> https;

        private UCRet() {
        }
    }

    private static class ZoneIndex {
        private final String accessKey;
        private final String bucket;

        ZoneIndex(String str, String str2) {
            this.accessKey = str;
            this.bucket = str2;
        }

        public boolean equals(Object obj) {
            if (obj != this) {
                if (obj != null && (obj instanceof ZoneIndex)) {
                    ZoneIndex zoneIndex = (ZoneIndex) obj;
                    if (!zoneIndex.accessKey.equals(this.accessKey) || !zoneIndex.bucket.equals(this.bucket)) {
                    }
                }
                return false;
            }
            return true;
        }

        public int hashCode() {
            return (this.accessKey.hashCode() * 37) + this.bucket.hashCode();
        }
    }

    static class ZoneInfo {
        final String iovipHttp;
        final String iovipHttps;
        final String upBackupHttp;
        final String upBackupHttps;
        final String upHttp;
        final String upHttps;
        final String upIpHttp;
        final String upIpHttps;

        private ZoneInfo(String str, String str2, String str3, String str4, String str5, String str6, String str7, String str8) {
            this.upHttp = str;
            this.upBackupHttp = str2;
            this.upIpHttp = str3;
            this.iovipHttp = str4;
            this.upHttps = str5;
            this.upBackupHttps = str6;
            this.upIpHttps = str7;
            this.iovipHttps = str8;
        }

        static ZoneInfo buildFromUcRet(UCRet uCRet) {
            List<String> list = uCRet.http.get("up");
            String str = list.get(0);
            String str2 = list.get(1);
            String str3 = list.get(2).split(" ")[2].split("//")[1];
            String str4 = uCRet.http.get("io").get(0);
            List<String> list2 = uCRet.https.get("up");
            String str5 = list2.get(0);
            return new ZoneInfo(str, str2, str3, str4, str5, list2.size() > 1 ? list2.get(1) : str5, list2.size() > 2 ? list2.get(2).split(" ")[2].split("//")[1] : "", uCRet.https.get("io").get(0));
        }
    }

    public AutoZone() {
        this("https://uc.qbox.me");
    }

    private UCRet getZoneJson(ZoneIndex zoneIndex) throws QiniuException {
        return (UCRet) this.client.get(this.ucServer + "/v1/query?ak=" + zoneIndex.accessKey + "&bucket=" + zoneIndex.bucket).jsonToObject(UCRet.class);
    }

    @Override
    public String getApiHttp(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        if (queryZoneInfo == null) {
            return super.getApiHttp();
        }
        Zone zone = this.inferDomainsMap.get(queryZoneInfo.upHttp);
        return zone != null ? zone.getApiHttp() : super.getApiHttp();
    }

    @Override
    public String getApiHttps(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        if (queryZoneInfo == null) {
            return super.getApiHttps();
        }
        Zone zone = this.inferDomainsMap.get(queryZoneInfo.upHttp);
        return zone != null ? zone.getApiHttps() : super.getApiHttps();
    }

    @Override
    public String getIovipHttp(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        return queryZoneInfo == null ? "" : queryZoneInfo.iovipHttp;
    }

    @Override
    public String getIovipHttps(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        return queryZoneInfo == null ? "" : queryZoneInfo.iovipHttps;
    }

    @Override
    public String getRsHttp(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        if (queryZoneInfo == null) {
            return super.getRsHttp();
        }
        Zone zone = this.inferDomainsMap.get(queryZoneInfo.upHttp);
        return zone != null ? zone.getRsHttp() : super.getRsHttp();
    }

    @Override
    public String getRsHttps(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        if (queryZoneInfo == null) {
            return super.getRsHttps();
        }
        Zone zone = this.inferDomainsMap.get(queryZoneInfo.upHttp);
        return zone != null ? zone.getRsHttps() : super.getRsHttps();
    }

    @Override
    public String getRsfHttp(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        if (queryZoneInfo == null) {
            return super.getRsfHttp();
        }
        Zone zone = this.inferDomainsMap.get(queryZoneInfo.upHttp);
        return zone != null ? zone.getRsfHttp() : super.getRsfHttp();
    }

    @Override
    public String getRsfHttps(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        if (queryZoneInfo == null) {
            return super.getRsfHttps();
        }
        Zone zone = this.inferDomainsMap.get(queryZoneInfo.upHttp);
        return zone != null ? zone.getRsfHttps() : super.getRsfHttps();
    }

    @Override
    public String getUpBackupHttp(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        return queryZoneInfo == null ? "" : queryZoneInfo.upBackupHttp;
    }

    @Override
    public String getUpBackupHttps(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        return queryZoneInfo == null ? "" : queryZoneInfo.upBackupHttps;
    }

    @Override
    public String getUpHttp(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        return queryZoneInfo == null ? "" : queryZoneInfo.upHttp;
    }

    @Override
    public String getUpHttps(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        return queryZoneInfo == null ? "" : queryZoneInfo.upHttps;
    }

    @Override
    public String getUpIpHttp(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        return queryZoneInfo == null ? "" : queryZoneInfo.upIpHttp;
    }

    @Override
    public String getUpIpHttps(ZoneReqInfo zoneReqInfo) {
        ZoneInfo queryZoneInfo = queryZoneInfo(zoneReqInfo);
        return queryZoneInfo == null ? "" : queryZoneInfo.upIpHttps;
    }

    public ZoneInfo queryZoneInfo(String str, String str2) throws QiniuException {
        ZoneIndex zoneIndex = new ZoneIndex(str, str2);
        ZoneInfo zoneInfo = this.zones.get(zoneIndex);
        if (zoneInfo == null) {
            try {
                zoneInfo = ZoneInfo.buildFromUcRet(getZoneJson(zoneIndex));
            } catch (Exception e8) {
                e8.printStackTrace();
            }
            if (zoneInfo != null) {
                this.zones.put(zoneIndex, zoneInfo);
            }
        }
        return zoneInfo;
    }

    public AutoZone(String str) {
        this.ucServer = str;
        this.client = new Client();
        this.zones = new ConcurrentHashMap();
        ConcurrentHashMap concurrentHashMap = new ConcurrentHashMap();
        this.inferDomainsMap = concurrentHashMap;
        concurrentHashMap.put("http://up.qiniu.com", Zone.zone0());
        this.inferDomainsMap.put("http://up-z1.qiniu.com", Zone.zone1());
        this.inferDomainsMap.put("http://up-z2.qiniu.com", Zone.zone2());
        this.inferDomainsMap.put("http://up-na0.qiniu.com", Zone.zoneNa0());
        this.inferDomainsMap.put("http://up-as0.qiniu.com", Zone.zoneAs0());
    }

    public ZoneInfo queryZoneInfo(ZoneReqInfo zoneReqInfo) {
        try {
            return queryZoneInfo(zoneReqInfo.getAccessKey(), zoneReqInfo.getBucket());
        } catch (Exception e8) {
            e8.printStackTrace();
            return null;
        }
    }
}