crawler/htroot/api/blacklists/add_entry_p.java
2025-03-26 09:12:37 +09:00

51 lines
1.8 KiB
Java

import java.util.Locale;
import net.yacy.cora.protocol.RequestHeader;
import net.yacy.data.ListManager;
import net.yacy.data.WorkTables;
import net.yacy.repository.BlacklistHelper;
import net.yacy.search.Switchboard;
import net.yacy.server.serverObjects;
import net.yacy.server.serverSwitch;
public class add_entry_p {
private static final String RESULT_FAILURE = "0";
private static final String RESULT_SUCCESS = "1";
private static final String XML_ITEM_STATUS = "status";
private static final String KEY_NEW_ENTRY = "item";
private static final String KEY_CURRENT_BLACKLIST = "list";
public static serverObjects respond(final RequestHeader header, final serverObjects post, @SuppressWarnings("unused") final serverSwitch env) {
final serverObjects prop = new serverObjects();
if (post!= null && post.containsKey(KEY_CURRENT_BLACKLIST) && post.containsKey(KEY_NEW_ENTRY)) {
final String blacklistToUse = post.get(KEY_CURRENT_BLACKLIST, "").trim();
final String entry = post.get(KEY_NEW_ENTRY, "").trim();
ListManager.switchboard.tables.recordAPICall(
post,
"add_entry_p." + header.fileType().toString().toLowerCase(Locale.ROOT),
WorkTables.TABLE_API_TYPE_CONFIGURATION,
"add to blacklist '" + blacklistToUse + "': " + entry);
if (BlacklistHelper.addBlacklistEntry(blacklistToUse, entry, header)) {
prop.put(XML_ITEM_STATUS, RESULT_SUCCESS);
Switchboard.urlBlacklist.clear();
ListManager.reloadBlacklists();
} else {
prop.put(XML_ITEM_STATUS, RESULT_FAILURE);
}
} else {
prop.put(XML_ITEM_STATUS, RESULT_FAILURE);
}
return prop;
}
}