| skipped 24 lines |
25 | 25 | | |
26 | 26 | | from table import Table, LogEntry, TableRowFilter |
27 | 27 | | from helpers.filters import expand, collapse |
| 28 | + | from javax.swing import KeyStroke |
| 29 | + | from javax.swing import JTable |
| 30 | + | from javax.swing import AbstractAction |
28 | 31 | | |
29 | 32 | | class ITabImpl(ITab): |
30 | 33 | | def __init__(self, extender): |
| skipped 45 lines |
76 | 79 | | sendRequestMenu2 = JMenuItem("Send Modified Request to Repeater") |
77 | 80 | | sendRequestMenu2.addActionListener(SendRequestRepeater(self._extender, self._extender._callbacks, False)) |
78 | 81 | | |
| 82 | + | # Define the key combination for the shortcut |
| 83 | + | keyStroke = KeyStroke.getKeyStroke("F2") |
| 84 | + | |
| 85 | + | # Get the input and action maps for the JTable |
| 86 | + | inputMap = self._extender.logTable.getInputMap(JTable.WHEN_FOCUSED) |
| 87 | + | actionMap = self._extender.logTable.getActionMap() |
| 88 | + | |
| 89 | + | # Bind the key combination to the action |
| 90 | + | inputMap.put(keyStroke, "myShortcutAction") |
| 91 | + | actionMap.put("myShortcutAction", SendModifiedRequestToRepeaterAction(self._extender, self._extender._callbacks)) |
| 92 | + | |
79 | 93 | | sendResponseMenu = JMenuItem("Send Responses to Comparer") |
80 | 94 | | sendResponseMenu.addActionListener(SendResponseComparer(self._extender, self._extender._callbacks)) |
81 | 95 | | |
| skipped 75 lines |
157 | 171 | | proto = request.getHttpService().getProtocol() |
158 | 172 | | secure = True if proto == "https" else False |
159 | 173 | | |
160 | | - | self._callbacks.sendToRepeater(host, port, secure, request.getRequest(), "Autorize"); |
| 174 | + | self._callbacks.sendToRepeater(host, port, secure, request.getRequest(), "Autorize") |
161 | 175 | | |
162 | 176 | | class SendResponseComparer(ActionListener): |
163 | 177 | | def __init__(self, extender, callbacks): |
| skipped 74 lines |
238 | 252 | | else: |
239 | 253 | | collapse(self._extender, evt.getComponent()) |
240 | 254 | | |
| 255 | + | class SendModifiedRequestToRepeaterAction(AbstractAction): |
| 256 | + | def __init__(self, extender, callbacks): |
| 257 | + | self._extender = extender |
| 258 | + | self._callbacks = callbacks |
241 | 259 | | |
| 260 | + | def actionPerformed(self, e): |
| 261 | + | # Get the selected row of the JTable |
| 262 | + | row = self._extender.logTable.getSelectedRow() |
| 263 | + | |
| 264 | + | # Get the LogEntry object for the selected row |
| 265 | + | rowModelIndex = self._extender.logTable.convertRowIndexToModel(row) |
| 266 | + | entry = self._extender.tableModel.getValueAt(rowModelIndex, 0) |
| 267 | + | |
| 268 | + | # Get the modified request |
| 269 | + | request = self._extender._currentlyDisplayedItem._requestResponse |
| 270 | + | host = request.getHttpService().getHost() |
| 271 | + | port = request.getHttpService().getPort() |
| 272 | + | proto = request.getHttpService().getProtocol() |
| 273 | + | secure = True if proto == "https" else False |
| 274 | + | |
| 275 | + | self._callbacks.sendToRepeater(host, port, secure, request.getRequest(), "Autorize") |