From 3a585ad0e8da23e829a892191dc467def734625a Mon Sep 17 00:00:00 2001 From: FongMi Date: Mon, 21 Apr 2025 22:46:23 +0800 Subject: [PATCH] Clean code --- .../net/interceptor/AuthInterceptor.java | 13 +++++---- .../net/interceptor/RequestInterceptor.java | 27 ++++++++++--------- .../net/interceptor/ResponseInterceptor.java | 12 ++++----- 3 files changed, 27 insertions(+), 25 deletions(-) diff --git a/catvod/src/main/java/com/github/catvod/net/interceptor/AuthInterceptor.java b/catvod/src/main/java/com/github/catvod/net/interceptor/AuthInterceptor.java index 086edb902..039667894 100644 --- a/catvod/src/main/java/com/github/catvod/net/interceptor/AuthInterceptor.java +++ b/catvod/src/main/java/com/github/catvod/net/interceptor/AuthInterceptor.java @@ -7,7 +7,6 @@ import com.google.common.net.HttpHeaders; import java.io.IOException; import java.net.URI; -import java.util.Map; import java.util.concurrent.ConcurrentHashMap; import okhttp3.Interceptor; @@ -16,14 +15,14 @@ import okhttp3.Response; public class AuthInterceptor implements Interceptor { - private final Map userMap; + private ConcurrentHashMap user; - public AuthInterceptor() { - userMap = new ConcurrentHashMap<>(); + private ConcurrentHashMap user() { + return user == null ? user = new ConcurrentHashMap<>() : user; } public void clear() { - userMap.clear(); + user().clear(); } @NonNull @@ -35,7 +34,7 @@ public class AuthInterceptor implements Interceptor { String host = request.url().host(); String user = request.url().uri().getUserInfo(); String header = response.header(HttpHeaders.WWW_AUTHENTICATE); - if (user == null && userMap.containsKey(host)) user = userMap.get(host); + if (user == null && user().containsKey(host)) user = user().get(host); if (user == null) return response; else response.close(); String auth = digest(header) ? Util.digest(user, header, request) : Util.basic(user); @@ -49,7 +48,7 @@ public class AuthInterceptor implements Interceptor { private Request check(Request request) { URI uri = request.url().uri(); if (uri.getUserInfo() == null) return request; - userMap.put(request.url().host(), uri.getUserInfo()); + user().put(request.url().host(), uri.getUserInfo()); return request.newBuilder().header(HttpHeaders.AUTHORIZATION, Util.basic(uri.getUserInfo())).build(); } } diff --git a/catvod/src/main/java/com/github/catvod/net/interceptor/RequestInterceptor.java b/catvod/src/main/java/com/github/catvod/net/interceptor/RequestInterceptor.java index 8706c7dc1..715360584 100644 --- a/catvod/src/main/java/com/github/catvod/net/interceptor/RequestInterceptor.java +++ b/catvod/src/main/java/com/github/catvod/net/interceptor/RequestInterceptor.java @@ -20,24 +20,27 @@ import okhttp3.Response; public class RequestInterceptor implements Interceptor { - private final ConcurrentHashMap authMap; - private final ConcurrentHashMap headerMap; + private ConcurrentHashMap auth; + private ConcurrentHashMap header; - public RequestInterceptor() { - authMap = new ConcurrentHashMap<>(); - headerMap = new ConcurrentHashMap<>(); + private ConcurrentHashMap auth() { + return auth == null ? auth = new ConcurrentHashMap<>() : auth; + } + + private ConcurrentHashMap header() { + return header == null ? header = new ConcurrentHashMap<>() : header; } public synchronized void setHeaders(List items) { for (JsonElement item : items) { JsonObject object = Json.safeObject(item); - headerMap.put(object.get("host").getAsString(), object.get("header").getAsJsonObject()); + header().put(object.get("host").getAsString(), object.get("header").getAsJsonObject()); } } public void clear() { - authMap.clear(); - headerMap.clear(); + auth().clear(); + header().clear(); } @NonNull @@ -53,15 +56,15 @@ public class RequestInterceptor implements Interceptor { } private void checkHeader(HttpUrl url, Request.Builder builder) { - if (!headerMap.containsKey(url.host())) return; - for (Map.Entry entry : headerMap.get(url.host()).entrySet()) { + if (!header().containsKey(url.host())) return; + for (Map.Entry entry : header().get(url.host()).entrySet()) { builder.header(entry.getKey(), entry.getValue().getAsString()); } } private void checkAuthUser(HttpUrl url, Request.Builder builder) { String auth = url.queryParameter("auth"); - if (auth != null) authMap.put(url.host(), auth); - if (authMap.containsKey(url.host()) && auth == null) builder.url(url.newBuilder().addQueryParameter("auth", authMap.get(url.host())).build()); + if (auth != null) auth().put(url.host(), auth); + if (auth().containsKey(url.host()) && auth == null) builder.url(url.newBuilder().addQueryParameter("auth", auth().get(url.host())).build()); } } diff --git a/catvod/src/main/java/com/github/catvod/net/interceptor/ResponseInterceptor.java b/catvod/src/main/java/com/github/catvod/net/interceptor/ResponseInterceptor.java index d89a0e83e..a378011f9 100644 --- a/catvod/src/main/java/com/github/catvod/net/interceptor/ResponseInterceptor.java +++ b/catvod/src/main/java/com/github/catvod/net/interceptor/ResponseInterceptor.java @@ -20,10 +20,10 @@ import okio.Okio; public class ResponseInterceptor implements Interceptor { - private final ConcurrentHashMap redirect; + private ConcurrentHashMap redirect; - public ResponseInterceptor() { - redirect = new ConcurrentHashMap<>(); + private ConcurrentHashMap redirect() { + return redirect == null ? redirect = new ConcurrentHashMap<>() : redirect; } @NonNull @@ -32,13 +32,13 @@ public class ResponseInterceptor implements Interceptor { Request request = chain.request(); Response response = chain.proceed(request); if ("deflate".equals(response.header(HttpHeaders.CONTENT_ENCODING))) return deflate(response); - if (response.code() == 302) redirect.put(response.header(HttpHeaders.LOCATION), request.url().toString()); - if (response.code() == 406 && redirect.containsKey(request.url().toString())) return redirect(request, response); + if (response.code() == 302) redirect().put(response.header(HttpHeaders.LOCATION), request.url().toString()); + if (response.code() == 406 && redirect().containsKey(request.url().toString())) return redirect(request, response); return response; } private Response redirect(Request request, Response response) { - return new Response.Builder().request(request).protocol(response.protocol()).code(302).message("Found").header(HttpHeaders.LOCATION, redirect.get(request.url().toString())).build(); + return new Response.Builder().request(request).protocol(response.protocol()).code(302).message("Found").header(HttpHeaders.LOCATION, redirect().get(request.url().toString())).build(); } private Response deflate(Response response) {