Quellcode durchsuchen

sort block list entries. fix traffic_analytics test

tags/v0.7.0
Jonathan Cobb vor 5 Jahren
Ursprung
Commit
78155bd164
3 geänderte Dateien mit 17 neuen und 18 gelöschten Zeilen
  1. +9
    -6
      bubble-server/src/main/java/bubble/app/bblock/BlockListEntry.java
  2. +5
    -9
      bubble-server/src/main/java/bubble/app/bblock/BubbleBlockAppConfigDriver.java
  3. +3
    -3
      bubble-server/src/test/resources/models/include/fake_filter.json

+ 9
- 6
bubble-server/src/main/java/bubble/app/bblock/BlockListEntry.java Datei anzeigen

@@ -1,15 +1,12 @@
package bubble.app.bblock;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.*;
import lombok.experimental.Accessors;

import static org.cobbzilla.util.security.ShaUtil.sha256_hex;

@NoArgsConstructor @AllArgsConstructor @Accessors(chain=true)
public class BlockListEntry {
@NoArgsConstructor @AllArgsConstructor @Accessors(chain=true) @EqualsAndHashCode(of={"rule"})
public class BlockListEntry implements Comparable<BlockListEntry> {

public static BlockListEntry sourceRule(String rule) {
return new BlockListEntry(BlockListEntryType.builtin, rule);
@@ -27,4 +24,10 @@ public class BlockListEntry {
@Getter @Setter private BlockListEntryType ruleType;
@Getter @Setter private String rule;

@Override public int compareTo(BlockListEntry o) {
if (rule == null) return o.rule == null ? 0 : -1;
if (o.rule == null) return 1;
return rule.compareTo(o.rule);
}

}

+ 5
- 9
bubble-server/src/main/java/bubble/app/bblock/BubbleBlockAppConfigDriver.java Datei anzeigen

@@ -22,13 +22,10 @@ import org.cobbzilla.util.string.ValidationRegexes;
import org.cobbzilla.wizard.validation.ValidationResult;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.*;
import java.util.stream.Collectors;

import static java.util.Collections.emptyList;
import static java.util.Collections.emptySet;
import static org.cobbzilla.util.daemon.ZillaRuntime.*;
import static org.cobbzilla.util.http.HttpSchemes.SCHEME_HTTPS;
import static org.cobbzilla.util.http.HttpSchemes.isHttpOrHttps;
@@ -75,15 +72,14 @@ public class BubbleBlockAppConfigDriver implements AppConfigDriver {
throw notFoundEx(view);
}

private List<BlockListEntry> loadListEntries(Account account, BubbleApp app, String id) {
private Set<BlockListEntry> loadListEntries(Account account, BubbleApp app, String id) {
final BubbleBlockList list = loadList(account, app, id);
if (list == null) throw notFoundEx(id);
if (list.hasAdditionalEntries()) {
return Arrays.stream(list.getAdditionalEntries())
.map(BlockListEntry::additionalRule)
.collect(Collectors.toList());
.map(BlockListEntry::additionalRule).collect(Collectors.toCollection(TreeSet::new));
}
return emptyList();
return emptySet();
}

private BubbleBlockList loadList(Account account, BubbleApp app, String id) {


+ 3
- 3
bubble-server/src/test/resources/models/include/fake_filter.json Datei anzeigen

@@ -8,16 +8,16 @@
"userAgent": "Test-User-Agent 1.0.0",
"remoteAddr": "127.0.0.1",
"jsCheck": "true",
"timestamp": "<<now>>"
"requestSuffix": "<<rand 10>>"
}
},

{
"comment": "make request to <<fqdn>><<uri>>",
"request": {
"uri":"filter/matchers/<<fqdn>>.<<timestamp>>",
"uri":"filter/matchers/<<fqdn>>.<<requestSuffix>>",
"entity": {
"requestId": "<<fqdn>>.<<timestamp>>",
"requestId": "<<fqdn>>.<<requestSuffix>>",
"fqdn": "<<fqdn>>",
"uri": "<<uri>>",
"userAgent": "<<userAgent>>",


Laden…
Abbrechen
Speichern