Skip to content

Commit

Permalink
Add OOS scope check box
Browse files Browse the repository at this point in the history
  • Loading branch information
cak committed Mar 18, 2020
1 parent bd12fb6 commit 8d0419b
Show file tree
Hide file tree
Showing 3 changed files with 17 additions and 14 deletions.
28 changes: 14 additions & 14 deletions src/main/kotlin/ReflectListener.kt
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,12 @@ data class ReflectedResponse(
class ReflectListener(private val reflectPanel: ReflectPanel) : HttpSenderListener {

override fun onHttpResponseReceive(msg: HttpMessage?, initiator: Int, sender: HttpSender?) {
msg?.let {
if (msg.isInScope) {
msg?.let { req ->
if (req.isInScope || reflectPanel.scopeCheckbox.isSelected) {
val params = mutableSetOf<HtmlParameter>()
params.addAll(msg.urlParams)
params.addAll(msg.formParams)
val responseBody = msg.responseBody.toString()
params.addAll(req.urlParams)
params.addAll(req.formParams)
val responseBody = req.responseBody.toString()
val reflected = params.asSequence().filter { it.value.length >= 4 }
.filter { responseBody.contains(it.value, ignoreCase = true) }.toSet()
if (reflected.isNotEmpty()) {
Expand All @@ -41,17 +41,17 @@ class ReflectListener(private val reflectPanel: ReflectPanel) : HttpSenderListen
val dateTime = now.format(dateFormatter) ?: ""
val parameters = reflected.joinToString { "${it.name}=${it.value}" }
val reqRes = ReflectedResponse(
msg = msg,
msg = req,
dateTime = dateTime,
host = msg.requestHeader?.uri?.host ?: "",
url = msg.requestHeader?.uri,
path = msg.requestHeader.uri.path,
method = msg.requestHeader?.method ?: "",
statusCode = msg.responseHeader.statusCode,
host = req.requestHeader?.uri?.host ?: "",
url = req.requestHeader?.uri,
path = req.requestHeader.uri.path,
method = req.requestHeader?.method ?: "",
statusCode = req.responseHeader.statusCode,
title = getTitle(responseBody),
length = msg.responseHeader.contentLength,
mimeType = msg.responseHeader.getHeaderValues(HttpHeader.CONTENT_TYPE).toString(),
protocol = msg.requestHeader.uri.scheme,
length = req.responseHeader.contentLength,
mimeType = req.responseHeader.getHeaderValues(HttpHeader.CONTENT_TYPE).toString(),
protocol = req.requestHeader.uri.scheme,
parameters = parameters
)
reflectPanel.addReflection(reqRes)
Expand Down
2 changes: 2 additions & 0 deletions src/main/kotlin/ReflectOptions.kt
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ class ReflectOptions(
private val loadPanel = JPanel(FlowLayout(FlowLayout.RIGHT))
private val searchBar = JTextField("", 20)
private val searchPanel = JPanel(FlowLayout(FlowLayout.LEFT))
val scopeCheckBox = JCheckBox("Collect out of scope requests")

init {
val clearButton = JButton("Clear Reflections")
Expand All @@ -25,6 +26,7 @@ class ReflectOptions(
searchPanel.add(searchButton)
searchPanel.add(resetButton)
loadPanel.add(clearButton)
searchPanel.add(scopeCheckBox)
panel.leftComponent = searchPanel
panel.rightComponent = loadPanel
panel.dividerSize = 0
Expand Down
1 change: 1 addition & 0 deletions src/main/kotlin/ReflectPanel.kt
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ class ReflectPanel : AbstractPanel() {
val table = JTable(model)
val reflections = model.reflections
private val reflectionOptions = ReflectOptions(this)
val scopeCheckbox = reflectionOptions.scopeCheckBox
private val panel = JSplitPane(JSplitPane.VERTICAL_SPLIT)

init {
Expand Down

0 comments on commit 8d0419b

Please sign in to comment.