@@ -39,10 +39,21 @@ class BookmarkOptions(
3939 bookmarksPanel.model.refreshBookmarks()
4040 SwingUtilities .invokeLater {
4141 val bookmarks = bookmarksPanel.bookmarks
42- val highlightedProxyHistory = callbacks.proxyHistory.filter { it.highlight != null }
4342 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()
4657 bookmarksPanel.addBookmark(bookmarksToAdd)
4758 }
4859 }
@@ -54,8 +65,13 @@ class BookmarkOptions(
5465 if (searchText.isNotEmpty()) {
5566 val filteredBookmarks = bookmarks
5667 .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(
5975 searchText
6076 )
6177 }.toMutableList()
0 commit comments