pull/590/head
FongMi 8 months ago
parent 777fc6265e
commit 234521b85f
  1. 3
      catvod/src/main/java/com/github/catvod/net/interceptor/AuthInterceptor.java
  2. 10
      catvod/src/main/java/com/github/catvod/net/interceptor/ResponseInterceptor.java

@ -7,7 +7,6 @@ import com.google.common.net.HttpHeaders;
import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import okhttp3.Interceptor; import okhttp3.Interceptor;
@ -16,7 +15,7 @@ import okhttp3.Response;
public class AuthInterceptor implements Interceptor { public class AuthInterceptor implements Interceptor {
private final Map<String, String> userMap; private final ConcurrentHashMap<String, String> userMap;
public AuthInterceptor() { public AuthInterceptor() {
userMap = new ConcurrentHashMap<>(); userMap = new ConcurrentHashMap<>();

@ -20,10 +20,10 @@ import okio.Okio;
public class ResponseInterceptor implements Interceptor { public class ResponseInterceptor implements Interceptor {
private final ConcurrentHashMap<String, String> redirect; private final ConcurrentHashMap<String, String> redirectMap;
public ResponseInterceptor() { public ResponseInterceptor() {
redirect = new ConcurrentHashMap<>(); redirectMap = new ConcurrentHashMap<>();
} }
@NonNull @NonNull
@ -32,13 +32,13 @@ public class ResponseInterceptor implements Interceptor {
Request request = chain.request(); Request request = chain.request();
Response response = chain.proceed(request); Response response = chain.proceed(request);
if ("deflate".equals(response.header(HttpHeaders.CONTENT_ENCODING))) return deflate(response); 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 && redirectMap.containsKey(request.url().toString())) return redirect(request, response);
if (response.code() == 406 && redirect.containsKey(request.url().toString())) return redirect(request, response); if (response.code() == 302 && response.header(HttpHeaders.LOCATION) != null) redirectMap.put(response.header(HttpHeaders.LOCATION), request.url().toString());
return response; return response;
} }
private Response redirect(Request request, Response 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, redirectMap.get(request.url().toString())).build();
} }
private Response deflate(Response response) { private Response deflate(Response response) {

Loading…
Cancel
Save