auto_response 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +4 -3
  3. data/Gemfile.lock +9 -12
  4. data/bin/ar +14 -3
  5. data/lib/ar/har.rb +133 -0
  6. data/lib/ar/proxy_server.rb +171 -0
  7. data/lib/ar/rule_dsl.rb +4 -0
  8. data/lib/ar/rule_manager.rb +2 -1
  9. data/lib/ar/session_viewer.rb +18 -13
  10. data/lib/ar/version.rb +3 -0
  11. data/lib/ar/viewer/Images/applicationCache.png +0 -0
  12. data/lib/ar/viewer/Images/back.png +0 -0
  13. data/lib/ar/viewer/Images/checker.png +0 -0
  14. data/lib/ar/viewer/Images/closeButtons.png +0 -0
  15. data/lib/ar/viewer/Images/cookie.png +0 -0
  16. data/lib/ar/viewer/Images/database.png +0 -0
  17. data/lib/ar/viewer/Images/databaseTable.png +0 -0
  18. data/lib/ar/viewer/Images/deleteIcon.png +0 -0
  19. data/lib/ar/viewer/Images/disclosureTriangleSmallDown.png +0 -0
  20. data/lib/ar/viewer/Images/disclosureTriangleSmallDownBlack.png +0 -0
  21. data/lib/ar/viewer/Images/disclosureTriangleSmallDownWhite.png +0 -0
  22. data/lib/ar/viewer/Images/disclosureTriangleSmallRight.png +0 -0
  23. data/lib/ar/viewer/Images/disclosureTriangleSmallRightBlack.png +0 -0
  24. data/lib/ar/viewer/Images/disclosureTriangleSmallRightDown.png +0 -0
  25. data/lib/ar/viewer/Images/disclosureTriangleSmallRightDownBlack.png +0 -0
  26. data/lib/ar/viewer/Images/disclosureTriangleSmallRightDownWhite.png +0 -0
  27. data/lib/ar/viewer/Images/disclosureTriangleSmallRightWhite.png +0 -0
  28. data/lib/ar/viewer/Images/domain.png +0 -0
  29. data/lib/ar/viewer/Images/errorIcon.png +0 -0
  30. data/lib/ar/viewer/Images/errorMediumIcon.png +0 -0
  31. data/lib/ar/viewer/Images/errorRedDot.png +0 -0
  32. data/lib/ar/viewer/Images/fileSystem.png +0 -0
  33. data/lib/ar/viewer/Images/forward.png +0 -0
  34. data/lib/ar/viewer/Images/frame.png +0 -0
  35. data/lib/ar/viewer/Images/glossyHeader.png +0 -0
  36. data/lib/ar/viewer/Images/glossyHeaderPressed.png +0 -0
  37. data/lib/ar/viewer/Images/glossyHeaderSelected.png +0 -0
  38. data/lib/ar/viewer/Images/glossyHeaderSelectedPressed.png +0 -0
  39. data/lib/ar/viewer/Images/goArrow.png +0 -0
  40. data/lib/ar/viewer/Images/graphLabelCalloutLeft.png +0 -0
  41. data/lib/ar/viewer/Images/graphLabelCalloutRight.png +0 -0
  42. data/lib/ar/viewer/Images/indexedDB.png +0 -0
  43. data/lib/ar/viewer/Images/indexedDBIndex.png +0 -0
  44. data/lib/ar/viewer/Images/indexedDBObjectStore.png +0 -0
  45. data/lib/ar/viewer/Images/localStorage.png +0 -0
  46. data/lib/ar/viewer/Images/navigatorShowHideButton.png +0 -0
  47. data/lib/ar/viewer/Images/paneAddButtons.png +0 -0
  48. data/lib/ar/viewer/Images/paneBottomGrow.png +0 -0
  49. data/lib/ar/viewer/Images/paneBottomGrowActive.png +0 -0
  50. data/lib/ar/viewer/Images/paneElementStateButtons.png +0 -0
  51. data/lib/ar/viewer/Images/paneFilterButtons.png +0 -0
  52. data/lib/ar/viewer/Images/paneGrowHandleLine.png +0 -0
  53. data/lib/ar/viewer/Images/paneRefreshButtons.png +0 -0
  54. data/lib/ar/viewer/Images/paneSettingsButtons.png +0 -0
  55. data/lib/ar/viewer/Images/popoverArrows.png +0 -0
  56. data/lib/ar/viewer/Images/popoverBackground.png +0 -0
  57. data/lib/ar/viewer/Images/profileGroupIcon.png +0 -0
  58. data/lib/ar/viewer/Images/profileIcon.png +0 -0
  59. data/lib/ar/viewer/Images/profileSmallIcon.png +0 -0
  60. data/lib/ar/viewer/Images/profilesSilhouette.png +0 -0
  61. data/lib/ar/viewer/Images/programCounterBorder.png +0 -0
  62. data/lib/ar/viewer/Images/radioDot.png +0 -0
  63. data/lib/ar/viewer/Images/resourceCSSIcon.png +0 -0
  64. data/lib/ar/viewer/Images/resourceDocumentIcon.png +0 -0
  65. data/lib/ar/viewer/Images/resourceDocumentIconSmall.png +0 -0
  66. data/lib/ar/viewer/Images/resourceJSIcon.png +0 -0
  67. data/lib/ar/viewer/Images/resourcePlainIcon.png +0 -0
  68. data/lib/ar/viewer/Images/resourcePlainIconSmall.png +0 -0
  69. data/lib/ar/viewer/Images/resourcesSizeGraphIcon.png +0 -0
  70. data/lib/ar/viewer/Images/resourcesTimeGraphIcon.png +0 -0
  71. data/lib/ar/viewer/Images/scriptsSilhouette.png +0 -0
  72. data/lib/ar/viewer/Images/searchNext.png +0 -0
  73. data/lib/ar/viewer/Images/searchPrev.png +0 -0
  74. data/lib/ar/viewer/Images/searchSmallBlue.png +0 -0
  75. data/lib/ar/viewer/Images/searchSmallBrightBlue.png +0 -0
  76. data/lib/ar/viewer/Images/searchSmallGray.png +0 -0
  77. data/lib/ar/viewer/Images/searchSmallWhite.png +0 -0
  78. data/lib/ar/viewer/Images/segment.png +0 -0
  79. data/lib/ar/viewer/Images/segmentChromium.png +0 -0
  80. data/lib/ar/viewer/Images/segmentEnd.png +0 -0
  81. data/lib/ar/viewer/Images/segmentHover.png +0 -0
  82. data/lib/ar/viewer/Images/segmentHoverChromium.png +0 -0
  83. data/lib/ar/viewer/Images/segmentHoverEnd.png +0 -0
  84. data/lib/ar/viewer/Images/segmentHoverEndChromium.png +0 -0
  85. data/lib/ar/viewer/Images/segmentSelected.png +0 -0
  86. data/lib/ar/viewer/Images/segmentSelectedChromium.png +0 -0
  87. data/lib/ar/viewer/Images/segmentSelectedEnd.png +0 -0
  88. data/lib/ar/viewer/Images/segmentSelectedEndChromium.png +0 -0
  89. data/lib/ar/viewer/Images/sessionStorage.png +0 -0
  90. data/lib/ar/viewer/Images/spinner.gif +0 -0
  91. data/lib/ar/viewer/Images/spinnerActive.gif +0 -0
  92. data/lib/ar/viewer/Images/spinnerActiveSelected.gif +0 -0
  93. data/lib/ar/viewer/Images/spinnerInactive.gif +0 -0
  94. data/lib/ar/viewer/Images/spinnerInactiveSelected.gif +0 -0
  95. data/lib/ar/viewer/Images/splitviewDimple.png +0 -0
  96. data/lib/ar/viewer/Images/splitviewDividerBackground.png +0 -0
  97. data/lib/ar/viewer/Images/statusbarButtonGlyphs.png +0 -0
  98. data/lib/ar/viewer/Images/statusbarResizerHorizontal.png +0 -0
  99. data/lib/ar/viewer/Images/statusbarResizerVertical.png +0 -0
  100. data/lib/ar/viewer/Images/successGreenDot.png +0 -0
  101. data/lib/ar/viewer/Images/thumbActiveHoriz.png +0 -0
  102. data/lib/ar/viewer/Images/thumbActiveVert.png +0 -0
  103. data/lib/ar/viewer/Images/thumbHoriz.png +0 -0
  104. data/lib/ar/viewer/Images/thumbHoverHoriz.png +0 -0
  105. data/lib/ar/viewer/Images/thumbHoverVert.png +0 -0
  106. data/lib/ar/viewer/Images/thumbVert.png +0 -0
  107. data/lib/ar/viewer/Images/tickMark.png +0 -0
  108. data/lib/ar/viewer/Images/timelineHollowPillBlue.png +0 -0
  109. data/lib/ar/viewer/Images/timelineHollowPillGray.png +0 -0
  110. data/lib/ar/viewer/Images/timelineHollowPillGreen.png +0 -0
  111. data/lib/ar/viewer/Images/timelineHollowPillOrange.png +0 -0
  112. data/lib/ar/viewer/Images/timelineHollowPillPurple.png +0 -0
  113. data/lib/ar/viewer/Images/timelineHollowPillRed.png +0 -0
  114. data/lib/ar/viewer/Images/timelineHollowPillYellow.png +0 -0
  115. data/lib/ar/viewer/Images/timelinePillBlue.png +0 -0
  116. data/lib/ar/viewer/Images/timelinePillGray.png +0 -0
  117. data/lib/ar/viewer/Images/timelinePillGreen.png +0 -0
  118. data/lib/ar/viewer/Images/timelinePillOrange.png +0 -0
  119. data/lib/ar/viewer/Images/timelinePillPurple.png +0 -0
  120. data/lib/ar/viewer/Images/timelinePillRed.png +0 -0
  121. data/lib/ar/viewer/Images/timelinePillYellow.png +0 -0
  122. data/lib/ar/viewer/Images/toolbarIcons.png +0 -0
  123. data/lib/ar/viewer/Images/toolbarIconsSmall.png +0 -0
  124. data/lib/ar/viewer/Images/toolbarItemSelected.png +0 -0
  125. data/lib/ar/viewer/Images/trackHoriz.png +0 -0
  126. data/lib/ar/viewer/Images/trackVert.png +0 -0
  127. data/lib/ar/viewer/Images/treeDownTriangleBlack.png +0 -0
  128. data/lib/ar/viewer/Images/treeDownTriangleWhite.png +0 -0
  129. data/lib/ar/viewer/Images/treeRightTriangleBlack.png +0 -0
  130. data/lib/ar/viewer/Images/treeRightTriangleWhite.png +0 -0
  131. data/lib/ar/viewer/Images/treeUpTriangleBlack.png +0 -0
  132. data/lib/ar/viewer/Images/treeUpTriangleWhite.png +0 -0
  133. data/lib/ar/viewer/Images/userInputIcon.png +0 -0
  134. data/lib/ar/viewer/Images/userInputPreviousIcon.png +0 -0
  135. data/lib/ar/viewer/Images/userInputResultIcon.png +0 -0
  136. data/lib/ar/viewer/Images/warningIcon.png +0 -0
  137. data/lib/ar/viewer/Images/warningMediumIcon.png +0 -0
  138. data/lib/ar/viewer/Images/warningOrangeDot.png +0 -0
  139. data/lib/ar/viewer/Images/warningsErrors.png +0 -0
  140. data/lib/ar/viewer/chrome/Images/applicationCache.png +0 -0
  141. data/lib/ar/viewer/chrome/Images/back.png +0 -0
  142. data/lib/ar/viewer/chrome/Images/breakpointBorder.png +0 -0
  143. data/lib/ar/viewer/chrome/Images/breakpointConditionalBorder.png +0 -0
  144. data/lib/ar/viewer/chrome/Images/breakpointConditionalCounterBorder.png +0 -0
  145. data/lib/ar/viewer/chrome/Images/breakpointCounterBorder.png +0 -0
  146. data/lib/ar/viewer/chrome/Images/checker.png +0 -0
  147. data/lib/ar/viewer/chrome/Images/closeButtons.png +0 -0
  148. data/lib/ar/viewer/chrome/Images/cookie.png +0 -0
  149. data/lib/ar/viewer/chrome/Images/database.png +0 -0
  150. data/lib/ar/viewer/chrome/Images/databaseTable.png +0 -0
  151. data/lib/ar/viewer/chrome/Images/debuggerContinue.png +0 -0
  152. data/lib/ar/viewer/chrome/Images/debuggerPause.png +0 -0
  153. data/lib/ar/viewer/chrome/Images/debuggerStepInto.png +0 -0
  154. data/lib/ar/viewer/chrome/Images/debuggerStepOut.png +0 -0
  155. data/lib/ar/viewer/chrome/Images/debuggerStepOver.png +0 -0
  156. data/lib/ar/viewer/chrome/Images/deleteIcon.png +0 -0
  157. data/lib/ar/viewer/chrome/Images/disclosureTriangleSmallDown.png +0 -0
  158. data/lib/ar/viewer/chrome/Images/disclosureTriangleSmallDownBlack.png +0 -0
  159. data/lib/ar/viewer/chrome/Images/disclosureTriangleSmallDownWhite.png +0 -0
  160. data/lib/ar/viewer/chrome/Images/disclosureTriangleSmallRight.png +0 -0
  161. data/lib/ar/viewer/chrome/Images/disclosureTriangleSmallRightBlack.png +0 -0
  162. data/lib/ar/viewer/chrome/Images/disclosureTriangleSmallRightDown.png +0 -0
  163. data/lib/ar/viewer/chrome/Images/disclosureTriangleSmallRightDownBlack.png +0 -0
  164. data/lib/ar/viewer/chrome/Images/disclosureTriangleSmallRightDownWhite.png +0 -0
  165. data/lib/ar/viewer/chrome/Images/disclosureTriangleSmallRightWhite.png +0 -0
  166. data/lib/ar/viewer/chrome/Images/domain.png +0 -0
  167. data/lib/ar/viewer/chrome/Images/errorIcon.png +0 -0
  168. data/lib/ar/viewer/chrome/Images/errorMediumIcon.png +0 -0
  169. data/lib/ar/viewer/chrome/Images/errorRedDot.png +0 -0
  170. data/lib/ar/viewer/chrome/Images/fileSystem.png +0 -0
  171. data/lib/ar/viewer/chrome/Images/forward.png +0 -0
  172. data/lib/ar/viewer/chrome/Images/frame.png +0 -0
  173. data/lib/ar/viewer/chrome/Images/glossyHeader.png +0 -0
  174. data/lib/ar/viewer/chrome/Images/glossyHeaderPressed.png +0 -0
  175. data/lib/ar/viewer/chrome/Images/glossyHeaderSelected.png +0 -0
  176. data/lib/ar/viewer/chrome/Images/glossyHeaderSelectedPressed.png +0 -0
  177. data/lib/ar/viewer/chrome/Images/goArrow.png +0 -0
  178. data/lib/ar/viewer/chrome/Images/graphLabelCalloutLeft.png +0 -0
  179. data/lib/ar/viewer/chrome/Images/graphLabelCalloutRight.png +0 -0
  180. data/lib/ar/viewer/chrome/Images/indexedDB.png +0 -0
  181. data/lib/ar/viewer/chrome/Images/indexedDBIndex.png +0 -0
  182. data/lib/ar/viewer/chrome/Images/indexedDBObjectStore.png +0 -0
  183. data/lib/ar/viewer/chrome/Images/localStorage.png +0 -0
  184. data/lib/ar/viewer/chrome/Images/navigatorShowHideButton.png +0 -0
  185. data/lib/ar/viewer/chrome/Images/paneAddButtons.png +0 -0
  186. data/lib/ar/viewer/chrome/Images/paneBottomGrow.png +0 -0
  187. data/lib/ar/viewer/chrome/Images/paneBottomGrowActive.png +0 -0
  188. data/lib/ar/viewer/chrome/Images/paneElementStateButtons.png +0 -0
  189. data/lib/ar/viewer/chrome/Images/paneFilterButtons.png +0 -0
  190. data/lib/ar/viewer/chrome/Images/paneGrowHandleLine.png +0 -0
  191. data/lib/ar/viewer/chrome/Images/paneRefreshButtons.png +0 -0
  192. data/lib/ar/viewer/chrome/Images/paneSettingsButtons.png +0 -0
  193. data/lib/ar/viewer/chrome/Images/popoverArrows.png +0 -0
  194. data/lib/ar/viewer/chrome/Images/popoverBackground.png +0 -0
  195. data/lib/ar/viewer/chrome/Images/profileGroupIcon.png +0 -0
  196. data/lib/ar/viewer/chrome/Images/profileIcon.png +0 -0
  197. data/lib/ar/viewer/chrome/Images/profileSmallIcon.png +0 -0
  198. data/lib/ar/viewer/chrome/Images/profilesSilhouette.png +0 -0
  199. data/lib/ar/viewer/chrome/Images/programCounterBorder.png +0 -0
  200. data/lib/ar/viewer/chrome/Images/radioDot.png +0 -0
  201. data/lib/ar/viewer/chrome/Images/resourceCSSIcon.png +0 -0
  202. data/lib/ar/viewer/chrome/Images/resourceDocumentIcon.png +0 -0
  203. data/lib/ar/viewer/chrome/Images/resourceDocumentIconSmall.png +0 -0
  204. data/lib/ar/viewer/chrome/Images/resourceJSIcon.png +0 -0
  205. data/lib/ar/viewer/chrome/Images/resourcePlainIcon.png +0 -0
  206. data/lib/ar/viewer/chrome/Images/resourcePlainIconSmall.png +0 -0
  207. data/lib/ar/viewer/chrome/Images/resourcesSizeGraphIcon.png +0 -0
  208. data/lib/ar/viewer/chrome/Images/resourcesTimeGraphIcon.png +0 -0
  209. data/lib/ar/viewer/chrome/Images/scriptsSilhouette.png +0 -0
  210. data/lib/ar/viewer/chrome/Images/searchNext.png +0 -0
  211. data/lib/ar/viewer/chrome/Images/searchPrev.png +0 -0
  212. data/lib/ar/viewer/chrome/Images/searchSmallBlue.png +0 -0
  213. data/lib/ar/viewer/chrome/Images/searchSmallBrightBlue.png +0 -0
  214. data/lib/ar/viewer/chrome/Images/searchSmallGray.png +0 -0
  215. data/lib/ar/viewer/chrome/Images/searchSmallWhite.png +0 -0
  216. data/lib/ar/viewer/chrome/Images/segment.png +0 -0
  217. data/lib/ar/viewer/chrome/Images/segmentChromium.png +0 -0
  218. data/lib/ar/viewer/chrome/Images/segmentEnd.png +0 -0
  219. data/lib/ar/viewer/chrome/Images/segmentHover.png +0 -0
  220. data/lib/ar/viewer/chrome/Images/segmentHoverChromium.png +0 -0
  221. data/lib/ar/viewer/chrome/Images/segmentHoverEnd.png +0 -0
  222. data/lib/ar/viewer/chrome/Images/segmentHoverEndChromium.png +0 -0
  223. data/lib/ar/viewer/chrome/Images/segmentSelected.png +0 -0
  224. data/lib/ar/viewer/chrome/Images/segmentSelectedChromium.png +0 -0
  225. data/lib/ar/viewer/chrome/Images/segmentSelectedEnd.png +0 -0
  226. data/lib/ar/viewer/chrome/Images/segmentSelectedEndChromium.png +0 -0
  227. data/lib/ar/viewer/chrome/Images/sessionStorage.png +0 -0
  228. data/lib/ar/viewer/chrome/Images/spinner.gif +0 -0
  229. data/lib/ar/viewer/chrome/Images/spinnerActive.gif +0 -0
  230. data/lib/ar/viewer/chrome/Images/spinnerActiveSelected.gif +0 -0
  231. data/lib/ar/viewer/chrome/Images/spinnerInactive.gif +0 -0
  232. data/lib/ar/viewer/chrome/Images/spinnerInactiveSelected.gif +0 -0
  233. data/lib/ar/viewer/chrome/Images/splitviewDimple.png +0 -0
  234. data/lib/ar/viewer/chrome/Images/splitviewDividerBackground.png +0 -0
  235. data/lib/ar/viewer/chrome/Images/statusbarButtonGlyphs.png +0 -0
  236. data/lib/ar/viewer/chrome/Images/statusbarResizerHorizontal.png +0 -0
  237. data/lib/ar/viewer/chrome/Images/statusbarResizerVertical.png +0 -0
  238. data/lib/ar/viewer/chrome/Images/successGreenDot.png +0 -0
  239. data/lib/ar/viewer/chrome/Images/thumbActiveHoriz.png +0 -0
  240. data/lib/ar/viewer/chrome/Images/thumbActiveVert.png +0 -0
  241. data/lib/ar/viewer/chrome/Images/thumbHoriz.png +0 -0
  242. data/lib/ar/viewer/chrome/Images/thumbHoverHoriz.png +0 -0
  243. data/lib/ar/viewer/chrome/Images/thumbHoverVert.png +0 -0
  244. data/lib/ar/viewer/chrome/Images/thumbVert.png +0 -0
  245. data/lib/ar/viewer/chrome/Images/tickMark.png +0 -0
  246. data/lib/ar/viewer/chrome/Images/timelineHollowPillBlue.png +0 -0
  247. data/lib/ar/viewer/chrome/Images/timelineHollowPillGray.png +0 -0
  248. data/lib/ar/viewer/chrome/Images/timelineHollowPillGreen.png +0 -0
  249. data/lib/ar/viewer/chrome/Images/timelineHollowPillOrange.png +0 -0
  250. data/lib/ar/viewer/chrome/Images/timelineHollowPillPurple.png +0 -0
  251. data/lib/ar/viewer/chrome/Images/timelineHollowPillRed.png +0 -0
  252. data/lib/ar/viewer/chrome/Images/timelineHollowPillYellow.png +0 -0
  253. data/lib/ar/viewer/chrome/Images/timelinePillBlue.png +0 -0
  254. data/lib/ar/viewer/chrome/Images/timelinePillGray.png +0 -0
  255. data/lib/ar/viewer/chrome/Images/timelinePillGreen.png +0 -0
  256. data/lib/ar/viewer/chrome/Images/timelinePillOrange.png +0 -0
  257. data/lib/ar/viewer/chrome/Images/timelinePillPurple.png +0 -0
  258. data/lib/ar/viewer/chrome/Images/timelinePillRed.png +0 -0
  259. data/lib/ar/viewer/chrome/Images/timelinePillYellow.png +0 -0
  260. data/lib/ar/viewer/chrome/Images/toolbarIcons.png +0 -0
  261. data/lib/ar/viewer/chrome/Images/toolbarIconsSmall.png +0 -0
  262. data/lib/ar/viewer/chrome/Images/toolbarItemSelected.png +0 -0
  263. data/lib/ar/viewer/chrome/Images/trackHoriz.png +0 -0
  264. data/lib/ar/viewer/chrome/Images/trackVert.png +0 -0
  265. data/lib/ar/viewer/chrome/Images/treeDownTriangleBlack.png +0 -0
  266. data/lib/ar/viewer/chrome/Images/treeDownTriangleWhite.png +0 -0
  267. data/lib/ar/viewer/chrome/Images/treeRightTriangleBlack.png +0 -0
  268. data/lib/ar/viewer/chrome/Images/treeRightTriangleWhite.png +0 -0
  269. data/lib/ar/viewer/chrome/Images/treeUpTriangleBlack.png +0 -0
  270. data/lib/ar/viewer/chrome/Images/treeUpTriangleWhite.png +0 -0
  271. data/lib/ar/viewer/chrome/Images/userInputIcon.png +0 -0
  272. data/lib/ar/viewer/chrome/Images/userInputPreviousIcon.png +0 -0
  273. data/lib/ar/viewer/chrome/Images/userInputResultIcon.png +0 -0
  274. data/lib/ar/viewer/chrome/Images/warningIcon.png +0 -0
  275. data/lib/ar/viewer/chrome/Images/warningMediumIcon.png +0 -0
  276. data/lib/ar/viewer/chrome/Images/warningOrangeDot.png +0 -0
  277. data/lib/ar/viewer/chrome/Images/warningsErrors.png +0 -0
  278. data/lib/ar/viewer/chrome/dataGrid.css +218 -0
  279. data/lib/ar/viewer/chrome/devTools.css +97 -0
  280. data/lib/ar/viewer/chrome/dialog.css +55 -0
  281. data/lib/ar/viewer/chrome/elementsPanel.css +692 -0
  282. data/lib/ar/viewer/chrome/filteredItemSelectionDialog.css +41 -0
  283. data/lib/ar/viewer/chrome/heapProfiler.css +263 -0
  284. data/lib/ar/viewer/chrome/helpScreen.css +286 -0
  285. data/lib/ar/viewer/chrome/indexedDBViews.css +124 -0
  286. data/lib/ar/viewer/chrome/inspector.css +2878 -0
  287. data/lib/ar/viewer/chrome/inspectorCommon.css +177 -0
  288. data/lib/ar/viewer/chrome/inspectorSyntaxHighlight.css +111 -0
  289. data/lib/ar/viewer/chrome/nativeMemoryProfiler.css +86 -0
  290. data/lib/ar/viewer/chrome/navigatorView.css +142 -0
  291. data/lib/ar/viewer/chrome/networkLogView.css +559 -0
  292. data/lib/ar/viewer/chrome/networkPanel.css +340 -0
  293. data/lib/ar/viewer/chrome/panelEnablerView.css +168 -0
  294. data/lib/ar/viewer/chrome/popover.css +94 -0
  295. data/lib/ar/viewer/chrome/profilesPanel.css +201 -0
  296. data/lib/ar/viewer/chrome/resourceView.css +105 -0
  297. data/lib/ar/viewer/chrome/resourcesPanel.css +331 -0
  298. data/lib/ar/viewer/chrome/revisionHistory.css +90 -0
  299. data/lib/ar/viewer/chrome/scriptsPanel.css +286 -0
  300. data/lib/ar/viewer/chrome/splitView.css +91 -0
  301. data/lib/ar/viewer/chrome/tabbedPane.css +165 -0
  302. data/lib/ar/viewer/chrome/textEditor.css +181 -0
  303. data/lib/ar/viewer/chrome/textPrompt.css +69 -0
  304. data/lib/ar/viewer/chrome/timelinePanel.css +656 -0
  305. data/lib/ar/viewer/components/angular/angular.js +14760 -0
  306. data/lib/ar/viewer/components/angular/angular.min.js +162 -0
  307. data/lib/ar/viewer/components/angular/component.json +14 -0
  308. data/lib/ar/viewer/components/jquery/README.md +11 -0
  309. data/lib/ar/viewer/components/jquery/bower.json +14 -0
  310. data/lib/ar/viewer/components/jquery/component.json +22 -0
  311. data/lib/ar/viewer/components/jquery/composer.json +35 -0
  312. data/lib/ar/viewer/components/jquery/jquery-migrate.js +511 -0
  313. data/lib/ar/viewer/components/jquery/jquery-migrate.min.js +3 -0
  314. data/lib/ar/viewer/components/jquery/jquery.js +8755 -0
  315. data/lib/ar/viewer/components/jquery/jquery.min.js +6 -0
  316. data/lib/ar/viewer/components/jquery/package.json +7 -0
  317. data/lib/ar/viewer/css/style.css +186 -0
  318. data/lib/ar/viewer/index.html +422 -0
  319. data/lib/ar/viewer/js/controllers.js +124 -0
  320. data/lib/ar/viewer/js/libs/HAREntry.js +154 -0
  321. data/lib/ar/viewer/js/libs/devTools.js +371 -0
  322. data/lib/ar/viewer/js/libs/modernizr.custom.min.js +4 -0
  323. data/lib/ar/viewer/js/script.js +36 -0
  324. data/lib/ar/viewer/sample.har +6723 -0
  325. data/lib/ar/viewer/sass/style.scss +149 -0
  326. data/lib/{autoresponse.rb → auto_response.rb} +30 -31
  327. data/readme.md +4 -0
  328. data/rules.sample +9 -0
  329. data/test/helper.rb +1 -1
  330. metadata +365 -9
  331. data/bin/start_ar.rb +0 -5
  332. data/bin/start_ar.rb.pid +0 -1
  333. data/lib/ar/proxyserver.rb +0 -106
  334. data/lib/ar/viewer/tmpl/index.haml +0 -55
@@ -0,0 +1,149 @@
1
+
2
+ .fork-banner {
3
+ border: 0;
4
+ position: absolute;
5
+ right: 0;
6
+ top: 0;
7
+ z-index: 11;
8
+ }
9
+
10
+ .toolbar-controls {
11
+ float: right;
12
+ display: -webkit-box;
13
+ -webkit-box-align: center;
14
+ height: 100%;
15
+ padding-right: 120px;
16
+ }
17
+
18
+ .toolbar-item.pagespeed-panel .toolbar-icon {
19
+ background-image: url(../img/pagespeed-devtools-icon.png);
20
+ }
21
+
22
+ #search {
23
+ width: 200px;
24
+ }
25
+
26
+ .support {
27
+ display: block;
28
+ }
29
+ .no-support {
30
+ display: none;
31
+ }
32
+
33
+ .disabled {
34
+ .support {
35
+ display: none;
36
+ }
37
+ .no-support {
38
+ display: block;
39
+ }
40
+ }
41
+
42
+ #dropArea.visible {
43
+ width: 100%;
44
+ height: 100%;
45
+ padding: 40px 20px;
46
+ margin: 88px auto 0;
47
+ position: absolute;
48
+ display: block;
49
+ background: rgba(255, 255, 255, 0.8);
50
+ background-image: -webkit-linear-gradient(bottom, transparent 80%, rgba(0, 0, 0, 0.1) 100%);
51
+ background-image: -moz-linear-gradient(bottom, transparent 80%, rgba(0, 0, 0, 0.1) 100%);
52
+ background-image: -ms-linear-gradient(bottom, transparent 80%, rgba(0, 0, 0, 0.1) 100%);
53
+ background-image: -o-linear-gradient(bottom, transparent 80%, rgba(0, 0, 0, 0.1) 100%);
54
+ background-image: linear-gradient(bottom, transparent 80%, rgba(0, 0, 0, 0.1) 100%);
55
+ text-align: center;
56
+ box-shadow: 0 1px 0 white, 0 -1px 0 rgba(0, 0, 0, 0.1), 0 -2px 0 rgba(255, 255, 255, 0.5);
57
+ text-shadow: 0 1px 0 white;
58
+ z-index: 10;
59
+ font-size: 20px;
60
+ }
61
+
62
+ .network-timeline-grid {
63
+ left: 54%;
64
+ right: 18px;
65
+ }
66
+
67
+ .split-view-network-views,
68
+ .split-view-resizer {
69
+ left: 313px;
70
+ right: 0px;
71
+ }
72
+
73
+ .split-view-sidebar-left.maximized {
74
+ left: 0px;
75
+ right: 0;
76
+ }
77
+
78
+ .split-view-sidebar-left.minimized {
79
+ left: 0px;
80
+ width: 313px;
81
+ }
82
+
83
+ #network-close-button {
84
+ display: block;
85
+ }
86
+
87
+ .resource-status-image {
88
+ vertical-align: middle;
89
+ }
90
+
91
+
92
+ /* Use class instead of styles */
93
+ .split-view-sidebar-left.maximized colgroup {
94
+ .first {
95
+ width: 20.05610098176718%;
96
+ }
97
+ .sec,
98
+ .third,
99
+ .fourth {
100
+ width: 7.03085553997195%;
101
+ }
102
+ .five,
103
+ .six {
104
+ width: 6.9607293127629735%;
105
+ }
106
+ .sev {
107
+ width: 45.90182328190743%;
108
+ }
109
+ }
110
+
111
+ .split-view-sidebar-left.minimized colgroup {
112
+ .first {
113
+ width: 100%%;
114
+ }
115
+ .sec,
116
+ .third,
117
+ .fourth,
118
+ .five,
119
+ .six,
120
+ .sev {
121
+ width: 0px;
122
+ display: none;
123
+ }
124
+ }
125
+
126
+ .fork,
127
+ .sample {
128
+ padding: 0.5em 1em;
129
+ border: 1px solid #D4D4D4;
130
+ margin: 0 15px 0 0;
131
+ text-decoration: none;
132
+ text-align: center;
133
+ text-shadow: 1px 1px 0 white;
134
+ font: 11px/normal sans-serif;
135
+ color: #333;
136
+ white-space: nowrap;
137
+ cursor: pointer;
138
+ outline: none;
139
+ background-color: #ECECEC;
140
+ background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#F4F4F4), to(#ECECEC));
141
+ background-image: -moz-linear-gradient(#F4F4F4, #ECECEC);
142
+ background-image: -ms-linear-gradient(#F4F4F4, #ECECEC);
143
+ background-image: -o-linear-gradient(#F4F4F4, #ECECEC);
144
+ background-image: linear-gradient(#F4F4F4, #ECECEC);
145
+ -moz-background-clip: padding;
146
+ background-clip: padding-box;
147
+ border-radius: 0.2em;
148
+ zoom: 1;
149
+ }
@@ -3,19 +3,15 @@ require 'open-uri'
3
3
  require 'fileutils'
4
4
  require 'listen'
5
5
  require 'colorize'
6
+ require 'logger'
6
7
 
7
- unless Kernel.respond_to?(:require_relative)
8
- module Kernel
9
- def require_relative(path)
10
- require File.expand_path(path.to_str, File.dirname(caller[0]))
11
- end
12
- end
13
- end
8
+ $: << File.expand_path( File.dirname(__FILE__) )
14
9
 
15
- require_relative 'ar/proxyserver'
16
- require_relative 'ar/rule_manager'
17
- require_relative 'ar/parser'
18
- require_relative 'ar/session_viewer'
10
+ require 'ar/version'
11
+ require 'ar/proxy_server'
12
+ require 'ar/rule_manager'
13
+ require 'ar/parser'
14
+ require 'ar/session_viewer'
19
15
 
20
16
  module AutoResp
21
17
 
@@ -28,11 +24,10 @@ module AutoResp
28
24
  def initialize(config={})
29
25
  @config = config
30
26
  @rule_manager = RuleManager.new
27
+ @logger = Logger.new( $stderr, Logger::WARN )
31
28
  init_autoresponse_home
32
- init_proxy_server
33
29
  load_rules
34
30
  monitor_rules_change
35
- start_viewer
36
31
  end
37
32
 
38
33
  protected
@@ -49,27 +44,27 @@ module AutoResp
49
44
  @server = ProxyServer.new(
50
45
  self,
51
46
  :BindAddress => @config[:host] || '0.0.0.0',
52
- :Port => @config[:port] || 9000
47
+ :Port => @config[:port] || 9000,
48
+ :logger => @logger
53
49
  )
54
50
  trap('INT') { stop_and_exit }
51
+ @server
52
+ end
53
+
54
+ def start_proxy
55
+ @proxy_thread = Thread.new { init_proxy_server.start }
55
56
  end
56
57
 
57
58
  def start_viewer
58
- @sv_thread = Thread.new {
59
- sleep 0.2
60
- SessionViewer.proxy_server = @server
61
- SessionViewer.run!
62
- Thread.pass
63
- }
59
+ @viewer_thread = Thread.new {}
60
+ SessionViewer.new( @server ).run
64
61
  end
65
62
 
66
63
  public
67
64
  def start
68
- @thread = Thread.new {
69
- sleep 0.1
70
- @server.start
71
- }
72
- @thread.join
65
+ log_rules
66
+ start_proxy
67
+ start_viewer
73
68
  end
74
69
 
75
70
  def stop_and_exit
@@ -78,9 +73,9 @@ module AutoResp
78
73
  end
79
74
 
80
75
  def stop
81
- puts "\nshuting down"
82
76
  @server.shutdown
83
- @thread.kill
77
+ @viewer_thread.kill
78
+ @proxy_thread.kill
84
79
  end
85
80
 
86
81
  def add_rule(*args, &block)
@@ -111,15 +106,19 @@ module AutoResp
111
106
  path ||= @config[:rule_config]
112
107
  path ||= "#{ARHOME}/rules"
113
108
  if File.readable?(path)
114
- @rule_manager.instance_eval File.read(path)
109
+ begin
110
+ @rule_manager.instance_eval File.read(path)
111
+ rescue SyntaxError => e
112
+ @logger.fatal "You have syntax error in your rules file, please check it"
113
+ exit 1
114
+ end
115
115
  end
116
- log_rules
117
116
  end
118
117
 
119
118
  def log_rules
120
- puts "mapping rules:"
119
+ @logger.info "mapping rules:"
121
120
  rules.each do |n,v|
122
- puts n.to_s.ljust(30).green << "=> #{v}"
121
+ @logger.info "\n" << n.to_s.ljust(30).green << "\n=> #{v}"
123
122
  end
124
123
  end
125
124
 
data/readme.md CHANGED
@@ -8,6 +8,10 @@ Auto_response acts as a proxy server like Fiddler does, allowing you to modify t
8
8
 
9
9
  ## Quick start
10
10
 
11
+ 1. requirements
12
+ - \*nix system, Mac/Linux
13
+ - ruby 1.9+ (may work on 1.8.7, but not very well tested)
14
+
11
15
  1. Install and run
12
16
 
13
17
  ~~~sh
data/rules.sample CHANGED
@@ -61,3 +61,12 @@ url %r{http://anysite\.cc(.*)} do |uri, path|
61
61
  <small>Server time is #{Time.now} now. </small>
62
62
  RESP
63
63
  end
64
+
65
+ # delay every images in 3 seconds
66
+ url %r{http://.+\.(jpe?g|png|gif)$}
67
+ delay 3
68
+
69
+ # use `delay` together with other response, just simple:
70
+ url "http://www.delayed.com"
71
+ delay 10
72
+ r "Delayed 10 seconds"
data/test/helper.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'test/unit'
2
2
  require 'net/http'
3
- require_relative '../lib/autoresponse'
3
+ require_relative '../lib/auto_response'
4
4
 
5
5
  FIXTURE = File.expand_path("fixture", File.dirname(__FILE__))
6
6