@@ -39,10 +39,21 @@ class BookmarkOptions(
39
39
bookmarksPanel.model.refreshBookmarks()
40
40
SwingUtilities .invokeLater {
41
41
val bookmarks = bookmarksPanel.bookmarks
42
- val highlightedProxyHistory = callbacks.proxyHistory.filter { it.highlight != null }
43
42
val bookmarkRequests = bookmarks.map { callbacks.helpers.bytesToString(it.requestResponse.request) }
44
- val bookmarksToAdd = highlightedProxyHistory
45
- .filter { ! bookmarkRequests.contains(callbacks.helpers.bytesToString(it.request)) }.toTypedArray()
43
+ val bookmarkResponses =
44
+ bookmarks.map { callbacks.helpers.bytesToString(it.requestResponse.response ? : ByteArray (0 )) }
45
+ val proxyHistory = callbacks.proxyHistory.asSequence()
46
+ val bookmarksToAdd = proxyHistory
47
+ .filter { it.highlight != null }
48
+ .filterNot {
49
+ bookmarkRequests.contains(callbacks.helpers.bytesToString(it.request)) &&
50
+ bookmarkResponses.contains(
51
+ callbacks.helpers.bytesToString(it.response)
52
+ )
53
+ }
54
+ .distinct()
55
+ .toList()
56
+ .toTypedArray()
46
57
bookmarksPanel.addBookmark(bookmarksToAdd)
47
58
}
48
59
}
@@ -54,8 +65,13 @@ class BookmarkOptions(
54
65
if (searchText.isNotEmpty()) {
55
66
val filteredBookmarks = bookmarks
56
67
.filter {
57
- callbacks.helpers.bytesToString(it.requestResponse.request).toLowerCase().contains(searchText) &&
58
- callbacks.helpers.bytesToString(it.requestResponse.response).toLowerCase().contains(
68
+ it.url.toString().toLowerCase().contains(searchText) ||
69
+ callbacks.helpers.bytesToString(it.requestResponse.request).toLowerCase().contains(
70
+ searchText
71
+ ) ||
72
+ callbacks.helpers.bytesToString(
73
+ it.requestResponse.response ? : ByteArray (0 )
74
+ ).toLowerCase().contains(
59
75
searchText
60
76
)
61
77
}.toMutableList()
0 commit comments