|
|
|
|
@ -1,5 +1,7 @@ |
|
|
|
|
package com.fongmi.android.tv.server.process; |
|
|
|
|
|
|
|
|
|
import android.text.TextUtils; |
|
|
|
|
|
|
|
|
|
import com.fongmi.android.tv.server.Nano; |
|
|
|
|
import com.github.catvod.utils.Prefers; |
|
|
|
|
|
|
|
|
|
@ -15,17 +17,23 @@ public class Cache implements Process { |
|
|
|
|
return path.equals("/cache"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
private String getKey(String rule, String key) { |
|
|
|
|
return "cache_" + (TextUtils.isEmpty(rule) ? "" : rule + "_") + key; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public NanoHTTPD.Response doResponse(NanoHTTPD.IHTTPSession session, String path, Map<String, String> files) { |
|
|
|
|
Map<String, String> params = session.getParms(); |
|
|
|
|
String rule = params.get("rule"); |
|
|
|
|
String key = params.get("key"); |
|
|
|
|
switch (Objects.requireNonNullElse(params.get("do"), "")) { |
|
|
|
|
case "get": |
|
|
|
|
return Nano.success(Prefers.getString("cache_" + params.get("key"))); |
|
|
|
|
return Nano.success(getKey(rule, key)); |
|
|
|
|
case "set": |
|
|
|
|
Prefers.put("cache_" + params.get("key"), params.get("value")); |
|
|
|
|
Prefers.put(getKey(rule, key), params.get("value")); |
|
|
|
|
return Nano.success(); |
|
|
|
|
case "delete": |
|
|
|
|
Prefers.remove("cache_" + params.get("key")); |
|
|
|
|
case "del": |
|
|
|
|
Prefers.remove(getKey(rule, key)); |
|
|
|
|
return Nano.success(); |
|
|
|
|
default: |
|
|
|
|
return Nano.error(null); |
|
|
|
|
|