har 0.0.1.dev

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 (155) hide show
  1. data/.gitignore +4 -0
  2. data/.rspec +1 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE +24 -0
  5. data/README.mdown +36 -0
  6. data/Rakefile +28 -0
  7. data/bin/har +4 -0
  8. data/har.gemspec +27 -0
  9. data/lib/har.rb +32 -0
  10. data/lib/har/archive.rb +135 -0
  11. data/lib/har/page.rb +19 -0
  12. data/lib/har/schema_type.rb +78 -0
  13. data/lib/har/schemas/browserType +19 -0
  14. data/lib/har/schemas/cacheEntryType +25 -0
  15. data/lib/har/schemas/cacheType +15 -0
  16. data/lib/har/schemas/contentType +26 -0
  17. data/lib/har/schemas/cookieType +32 -0
  18. data/lib/har/schemas/creatorType +18 -0
  19. data/lib/har/schemas/entryType +46 -0
  20. data/lib/har/schemas/logType +40 -0
  21. data/lib/har/schemas/pageTimingsType +17 -0
  22. data/lib/har/schemas/pageType +29 -0
  23. data/lib/har/schemas/postDataType +38 -0
  24. data/lib/har/schemas/recordType +17 -0
  25. data/lib/har/schemas/requestType +53 -0
  26. data/lib/har/schemas/responseType +51 -0
  27. data/lib/har/schemas/timingsType +43 -0
  28. data/lib/har/serializable.rb +22 -0
  29. data/lib/har/version.rb +3 -0
  30. data/lib/har/viewer.rb +99 -0
  31. data/lib/har/viewer/css/SyntaxHighlighter.css +1 -0
  32. data/lib/har/viewer/css/aboutTab.css +1 -0
  33. data/lib/har/viewer/css/domTab.css +1 -0
  34. data/lib/har/viewer/css/domTree.css +1 -0
  35. data/lib/har/viewer/css/harPreview.css +1 -0
  36. data/lib/har/viewer/css/harView.css +1 -0
  37. data/lib/har/viewer/css/harViewer.css +1 -0
  38. data/lib/har/viewer/css/homeTab.css +1 -0
  39. data/lib/har/viewer/css/images/ajax-loader.gif +0 -0
  40. data/lib/har/viewer/css/images/bg-button.gif +0 -0
  41. data/lib/har/viewer/css/images/blank.gif +0 -0
  42. data/lib/har/viewer/css/images/button-background.png +0 -0
  43. data/lib/har/viewer/css/images/checkmark.gif +0 -0
  44. data/lib/har/viewer/css/images/checkmark.png +0 -0
  45. data/lib/har/viewer/css/images/close-sprites.png +0 -0
  46. data/lib/har/viewer/css/images/contextMenuTarget.png +0 -0
  47. data/lib/har/viewer/css/images/contextMenuTargetHover.png +0 -0
  48. data/lib/har/viewer/css/images/download-sprites.png +0 -0
  49. data/lib/har/viewer/css/images/downloadButtons-aero.png +0 -0
  50. data/lib/har/viewer/css/images/group.gif +0 -0
  51. data/lib/har/viewer/css/images/loading_16.gif +0 -0
  52. data/lib/har/viewer/css/images/menu/Thumbs.db +0 -0
  53. data/lib/har/viewer/css/images/menu/shadowAlpha.png +0 -0
  54. data/lib/har/viewer/css/images/menu/tabMenuCheckbox.png +0 -0
  55. data/lib/har/viewer/css/images/menu/tabMenuPin.png +0 -0
  56. data/lib/har/viewer/css/images/menu/tabMenuRadio.png +0 -0
  57. data/lib/har/viewer/css/images/netBarBlocking.gif +0 -0
  58. data/lib/har/viewer/css/images/netBarBlocking2.gif +0 -0
  59. data/lib/har/viewer/css/images/netBarCached.gif +0 -0
  60. data/lib/har/viewer/css/images/netBarConnecting.gif +0 -0
  61. data/lib/har/viewer/css/images/netBarLoaded.gif +0 -0
  62. data/lib/har/viewer/css/images/netBarReceiving.gif +0 -0
  63. data/lib/har/viewer/css/images/netBarResolving.gif +0 -0
  64. data/lib/har/viewer/css/images/netBarResponded.gif +0 -0
  65. data/lib/har/viewer/css/images/netBarSending.gif +0 -0
  66. data/lib/har/viewer/css/images/netBarWaiting.gif +0 -0
  67. data/lib/har/viewer/css/images/page-timeline.png +0 -0
  68. data/lib/har/viewer/css/images/save.png +0 -0
  69. data/lib/har/viewer/css/images/spriteArrows.gif +0 -0
  70. data/lib/har/viewer/css/images/spriteArrows.png +0 -0
  71. data/lib/har/viewer/css/images/tabEnabled.png +0 -0
  72. data/lib/har/viewer/css/images/timeline-sprites.png +0 -0
  73. data/lib/har/viewer/css/images/tooltipConnectorUp.png +0 -0
  74. data/lib/har/viewer/css/images/twisty-sprites.png +0 -0
  75. data/lib/har/viewer/css/images/twistyClosed.png +0 -0
  76. data/lib/har/viewer/css/images/twistyOpen.png +0 -0
  77. data/lib/har/viewer/css/infoTip.css +1 -0
  78. data/lib/har/viewer/css/pageList.css +1 -0
  79. data/lib/har/viewer/css/pageStats.css +1 -0
  80. data/lib/har/viewer/css/pageTimeline.css +1 -0
  81. data/lib/har/viewer/css/popupMenu.css +1 -0
  82. data/lib/har/viewer/css/previewTab.css +1 -0
  83. data/lib/har/viewer/css/requestBody.css +1 -0
  84. data/lib/har/viewer/css/requestList.css +1 -0
  85. data/lib/har/viewer/css/schemaTab.css +1 -0
  86. data/lib/har/viewer/css/tabView.css +1 -0
  87. data/lib/har/viewer/css/toolTip.css +1 -0
  88. data/lib/har/viewer/css/toolbar.css +1 -0
  89. data/lib/har/viewer/css/xhrSpy.css +1 -0
  90. data/lib/har/viewer/index.html +13 -0
  91. data/lib/har/viewer/scripts/app.build.js +0 -0
  92. data/lib/har/viewer/scripts/core/cookies.js +2 -0
  93. data/lib/har/viewer/scripts/core/lib.js +23 -0
  94. data/lib/har/viewer/scripts/core/trace.js +26 -0
  95. data/lib/har/viewer/scripts/domplate/domTree.js +5 -0
  96. data/lib/har/viewer/scripts/domplate/domplate.js +263 -0
  97. data/lib/har/viewer/scripts/domplate/infoTip.js +4 -0
  98. data/lib/har/viewer/scripts/domplate/popupMenu.js +14 -0
  99. data/lib/har/viewer/scripts/domplate/tabView.js +6 -0
  100. data/lib/har/viewer/scripts/domplate/toolTip.js +3 -0
  101. data/lib/har/viewer/scripts/domplate/toolbar.js +3 -0
  102. data/lib/har/viewer/scripts/downloadify/LICENSE.txt +22 -0
  103. data/lib/har/viewer/scripts/downloadify/README.textile +89 -0
  104. data/lib/har/viewer/scripts/downloadify/js/downloadify.min.js +6 -0
  105. data/lib/har/viewer/scripts/downloadify/js/swfobject.js +18 -0
  106. data/lib/har/viewer/scripts/downloadify/media/downloadify.swf +0 -0
  107. data/lib/har/viewer/scripts/downloadify/src/Downloadify.as +162 -0
  108. data/lib/har/viewer/scripts/downloadify/src/downloadify.js +6 -0
  109. data/lib/har/viewer/scripts/excanvas/excanvas.js +21 -0
  110. data/lib/har/viewer/scripts/harPreview.js +149 -0
  111. data/lib/har/viewer/scripts/harViewer.js +244 -0
  112. data/lib/har/viewer/scripts/jquery-plugins/jquery.json.js +6 -0
  113. data/lib/har/viewer/scripts/nls/harViewer.js +1 -0
  114. data/lib/har/viewer/scripts/nls/homeTab.js +1 -0
  115. data/lib/har/viewer/scripts/nls/pageStats.js +2 -0
  116. data/lib/har/viewer/scripts/nls/pageTimeline.js +1 -0
  117. data/lib/har/viewer/scripts/nls/previewTab.js +1 -0
  118. data/lib/har/viewer/scripts/nls/requestBody.js +1 -0
  119. data/lib/har/viewer/scripts/nls/requestList.js +2 -0
  120. data/lib/har/viewer/scripts/preview/harModel.js +7 -0
  121. data/lib/har/viewer/scripts/preview/harSchema.js +308 -0
  122. data/lib/har/viewer/scripts/preview/jsonSchema.js +7 -0
  123. data/lib/har/viewer/scripts/preview/pageList.js +4 -0
  124. data/lib/har/viewer/scripts/preview/ref.js +5 -0
  125. data/lib/har/viewer/scripts/preview/requestBody.js +11 -0
  126. data/lib/har/viewer/scripts/preview/requestList.js +27 -0
  127. data/lib/har/viewer/scripts/requireplugins-jquery-1.4.2.js +204 -0
  128. data/lib/har/viewer/scripts/syntax-highlighter/README.txt +9 -0
  129. data/lib/har/viewer/scripts/syntax-highlighter/shCore.js +20 -0
  130. data/lib/har/viewer/scripts/tabs/aboutTab.html +93 -0
  131. data/lib/har/viewer/scripts/tabs/aboutTab.js +2 -0
  132. data/lib/har/viewer/scripts/tabs/domTab.js +1 -0
  133. data/lib/har/viewer/scripts/tabs/homeTab.html +34 -0
  134. data/lib/har/viewer/scripts/tabs/homeTab.js +5 -0
  135. data/lib/har/viewer/scripts/tabs/pageStats.js +14 -0
  136. data/lib/har/viewer/scripts/tabs/pageTimeline.js +10 -0
  137. data/lib/har/viewer/scripts/tabs/previewTab.js +6 -0
  138. data/lib/har/viewer/scripts/tabs/schemaTab.js +2 -0
  139. data/lib/har/viewer/scripts/xhr-spy/spy.js +2 -0
  140. data/lib/har/viewer/scripts/xhr-spy/spy.php +13 -0
  141. data/lib/har/viewer/scripts/xhr-spy/xhr.js +6 -0
  142. data/lib/har/viewer/scripts/xhr-spy/xhrSpyBookmarklet.js +1 -0
  143. data/schema.json +201 -0
  144. data/spec/fixtures/entry1.json +124 -0
  145. data/spec/fixtures/hars/bad.har +2563 -0
  146. data/spec/fixtures/hars/browser-blocking-time.har +2567 -0
  147. data/spec/fixtures/hars/google.com.har +612 -0
  148. data/spec/fixtures/hars/inline-scripts-block.har +1066 -0
  149. data/spec/fixtures/hars/softwareishard.com.har +5323 -0
  150. data/spec/har/archive_spec.rb +130 -0
  151. data/spec/har/entry_spec.rb +16 -0
  152. data/spec/har/page_spec.rb +24 -0
  153. data/spec/har/viewer_spec.rb +17 -0
  154. data/spec/spec_helper.rb +34 -0
  155. metadata +283 -0
@@ -0,0 +1,130 @@
1
+ require File.expand_path("../../spec_helper", __FILE__)
2
+
3
+ module HAR
4
+ describe Archive do
5
+
6
+ context "creating archives" do
7
+ it "can be created from a String" do
8
+ Archive.from_string('{"log": {}}').should be_kind_of(Archive)
9
+ end
10
+
11
+ it "can be created from a file" do
12
+ Archive.from_file(har_path("browser-blocking-time")).should be_kind_of(Archive)
13
+ end
14
+
15
+ it "saves the archive URI if created from a file" do
16
+ ar = Archive.from_file(har_path("browser-blocking-time"))
17
+ ar.uri.should_not be_nil
18
+ ar.uri.should include("browser-blocking-time")
19
+ end
20
+ end
21
+
22
+ context "fetching data" do
23
+ let(:archive) { Archive.from_file har_path("browser-blocking-time") }
24
+
25
+ it "has a list of pages" do
26
+ ps = archive.pages
27
+
28
+ ps.should be_kind_of(Array)
29
+ ps.size.should == 2
30
+
31
+ ps.first.should be_kind_of(Page)
32
+ end
33
+ end
34
+
35
+ context "comparing" do
36
+ it "knows when two archives are equal" do
37
+ a = Archive.from_file har_path("browser-blocking-time")
38
+ b = Archive.from_file har_path("browser-blocking-time")
39
+
40
+ a.should == b
41
+ end
42
+ end
43
+
44
+ context "merging" do
45
+ it "raises a TypeError if the argument is not an Archive" do
46
+ a = Archive.from_file har_path("browser-blocking-time")
47
+
48
+ lambda { a.merge(1) }.should raise_error(TypeError)
49
+ lambda { a.merge!(1) }.should raise_error(TypeError)
50
+ end
51
+
52
+ it "merges two archives, returning a new archive" do
53
+ a = Archive.from_file har_path("browser-blocking-time")
54
+ b = Archive.from_file har_path("google.com")
55
+
56
+ c = a.merge b
57
+
58
+ c.should_not == a
59
+ c.should_not == b
60
+
61
+ a.should_not == c
62
+ b.should_not == c
63
+
64
+ c.pages.size.should == a.pages.size + b.pages.size
65
+ c.entries.size.should == a.entries.size + b.entries.size
66
+ end
67
+
68
+ it "merges one archive into the other" do
69
+ ref = Archive.from_file har_path("browser-blocking-time")
70
+ a = Archive.from_file har_path("browser-blocking-time")
71
+ b = Archive.from_file har_path("google.com")
72
+
73
+ # caching..
74
+ a.pages
75
+ a.entries
76
+
77
+ a.merge!(b).should be_nil
78
+
79
+ a.pages.size.should == ref.pages.size + b.pages.size
80
+ a.entries.size.should == ref.entries.size + b.entries.size
81
+ end
82
+
83
+ it "adds a comment to pages about their origin" do
84
+ a = Archive.from_file har_path("browser-blocking-time")
85
+ b = Archive.from_file har_path("google.com")
86
+
87
+
88
+ c = a.merge(b)
89
+
90
+ c.pages.last.comment.should include("google.com")
91
+ b.pages.last.comment.should be_nil
92
+ end
93
+ end
94
+
95
+ context "validating" do
96
+ let(:valid) { Archive.from_file har_path("browser-blocking-time") }
97
+ let(:invalid) { Archive.from_file har_path("bad") }
98
+
99
+ it "returns true if the archive is valid" do
100
+ valid.should be_valid
101
+ end
102
+
103
+ it "returns nil if the archive is valid" do
104
+ valid.validate!.should be_nil
105
+ end
106
+
107
+ it "returns false if the archive is invalid" do
108
+ invalid.should_not be_valid
109
+ end
110
+
111
+ it "raises an error if the archive is invalid" do
112
+ lambda { invalid.validate! }.should raise_error(ValidationError, /bad\.har/)
113
+ end
114
+ end
115
+
116
+ context "saving" do
117
+ it "writes the archive to disk" do
118
+ json = '{"log":{}}'
119
+ ar = Archive.from_string json
120
+ out = StringIO.new
121
+
122
+ File.should_receive(:open).with("some.har", "w").and_yield(out)
123
+
124
+ ar.save_to "some.har"
125
+ out.string.should == json
126
+ end
127
+ end
128
+
129
+ end # Archive
130
+ end # HAR
@@ -0,0 +1,16 @@
1
+ require File.expand_path("../../spec_helper", __FILE__)
2
+
3
+ module HAR
4
+ describe Entry do
5
+ let(:entry) { Entry.new json(fixture_path("entry1.json"))}
6
+
7
+ it "has a request" do
8
+ entry.request.should be_kind_of(Request)
9
+ end
10
+
11
+ it "has a response" do
12
+ entry.response.should be_kind_of(Response)
13
+ end
14
+
15
+ end # Entry
16
+ end # HAR
@@ -0,0 +1,24 @@
1
+ require File.expand_path("../../spec_helper", __FILE__)
2
+
3
+ module HAR
4
+ describe Page do
5
+
6
+ context "data" do
7
+ let(:page) { Archive.from_file(google_path).pages.first }
8
+
9
+ it "has entries" do
10
+ page.entries.size.should == 5
11
+ page.entries.each { |e| e.pageref.should == page.id }
12
+ end
13
+
14
+ it "has a title" do
15
+ page.title.should == 'Google'
16
+ end
17
+
18
+ it "has a PageTimings instance" do
19
+ page.timings.should be_kind_of(PageTimings)
20
+ end
21
+ end
22
+
23
+ end # Page
24
+ end # HAR
@@ -0,0 +1,17 @@
1
+ require File.expand_path("../../spec_helper", __FILE__)
2
+
3
+ module HAR
4
+ describe Viewer do
5
+
6
+ context "creating" do
7
+ it "validates the given HARs" do
8
+ lambda { Viewer.new(all_hars) }.should raise_error(ValidationError)
9
+ end
10
+
11
+ it "has a merged archive" do
12
+ Viewer.new(good_hars).har.should be_kind_of(Archive)
13
+ end
14
+ end
15
+
16
+ end
17
+ end
@@ -0,0 +1,34 @@
1
+ $LOAD_PATH.unshift File.expand_path("../lib", __FILE__)
2
+ require "har"
3
+
4
+ module HAR
5
+ module SpecHelper
6
+ def fixture_path(name)
7
+ File.join(File.expand_path("../fixtures", __FILE__), name)
8
+ end
9
+
10
+ def har_path(name)
11
+ fixture_path File.join("hars", "#{name}.har")
12
+ end
13
+
14
+ def json(path)
15
+ JSON.parse(File.read(path))
16
+ end
17
+
18
+ def all_hars
19
+ Dir[fixture_path("hars/*.har")]
20
+ end
21
+
22
+ def google_path
23
+ har_path "google.com"
24
+ end
25
+
26
+ def good_hars
27
+ all_hars.reject { |e| e =~ /bad/ }
28
+ end
29
+ end
30
+ end
31
+
32
+ RSpec.configure do |c|
33
+ c.include HAR::SpecHelper
34
+ end
metadata ADDED
@@ -0,0 +1,283 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: har
3
+ version: !ruby/object:Gem::Version
4
+ prerelease: true
5
+ segments:
6
+ - 0
7
+ - 0
8
+ - 1
9
+ - dev
10
+ version: 0.0.1.dev
11
+ platform: ruby
12
+ authors:
13
+ - Jari Bakken
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-01-10 00:00:00 +01:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: json
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ segments:
30
+ - 0
31
+ version: "0"
32
+ type: :runtime
33
+ version_requirements: *id001
34
+ - !ruby/object:Gem::Dependency
35
+ name: json-schema
36
+ prerelease: false
37
+ requirement: &id002 !ruby/object:Gem::Requirement
38
+ none: false
39
+ requirements:
40
+ - - ">="
41
+ - !ruby/object:Gem::Version
42
+ segments:
43
+ - 0
44
+ version: "0"
45
+ type: :runtime
46
+ version_requirements: *id002
47
+ - !ruby/object:Gem::Dependency
48
+ name: launchy
49
+ prerelease: false
50
+ requirement: &id003 !ruby/object:Gem::Requirement
51
+ none: false
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ segments:
56
+ - 0
57
+ version: "0"
58
+ type: :runtime
59
+ version_requirements: *id003
60
+ - !ruby/object:Gem::Dependency
61
+ name: rspec
62
+ prerelease: false
63
+ requirement: &id004 !ruby/object:Gem::Requirement
64
+ none: false
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ segments:
69
+ - 2
70
+ - 0
71
+ version: "2.0"
72
+ type: :development
73
+ version_requirements: *id004
74
+ description: Ruby library to work with HTTP archives
75
+ email:
76
+ - jari.bakken@gmail.com
77
+ executables:
78
+ - har
79
+ extensions: []
80
+
81
+ extra_rdoc_files: []
82
+
83
+ files:
84
+ - .gitignore
85
+ - .rspec
86
+ - Gemfile
87
+ - LICENSE
88
+ - README.mdown
89
+ - Rakefile
90
+ - bin/har
91
+ - har.gemspec
92
+ - lib/har.rb
93
+ - lib/har/archive.rb
94
+ - lib/har/page.rb
95
+ - lib/har/schema_type.rb
96
+ - lib/har/schemas/browserType
97
+ - lib/har/schemas/cacheEntryType
98
+ - lib/har/schemas/cacheType
99
+ - lib/har/schemas/contentType
100
+ - lib/har/schemas/cookieType
101
+ - lib/har/schemas/creatorType
102
+ - lib/har/schemas/entryType
103
+ - lib/har/schemas/logType
104
+ - lib/har/schemas/pageTimingsType
105
+ - lib/har/schemas/pageType
106
+ - lib/har/schemas/postDataType
107
+ - lib/har/schemas/recordType
108
+ - lib/har/schemas/requestType
109
+ - lib/har/schemas/responseType
110
+ - lib/har/schemas/timingsType
111
+ - lib/har/serializable.rb
112
+ - lib/har/version.rb
113
+ - lib/har/viewer.rb
114
+ - lib/har/viewer/css/SyntaxHighlighter.css
115
+ - lib/har/viewer/css/aboutTab.css
116
+ - lib/har/viewer/css/domTab.css
117
+ - lib/har/viewer/css/domTree.css
118
+ - lib/har/viewer/css/harPreview.css
119
+ - lib/har/viewer/css/harView.css
120
+ - lib/har/viewer/css/harViewer.css
121
+ - lib/har/viewer/css/homeTab.css
122
+ - lib/har/viewer/css/images/ajax-loader.gif
123
+ - lib/har/viewer/css/images/bg-button.gif
124
+ - lib/har/viewer/css/images/blank.gif
125
+ - lib/har/viewer/css/images/button-background.png
126
+ - lib/har/viewer/css/images/checkmark.gif
127
+ - lib/har/viewer/css/images/checkmark.png
128
+ - lib/har/viewer/css/images/close-sprites.png
129
+ - lib/har/viewer/css/images/contextMenuTarget.png
130
+ - lib/har/viewer/css/images/contextMenuTargetHover.png
131
+ - lib/har/viewer/css/images/download-sprites.png
132
+ - lib/har/viewer/css/images/downloadButtons-aero.png
133
+ - lib/har/viewer/css/images/group.gif
134
+ - lib/har/viewer/css/images/loading_16.gif
135
+ - lib/har/viewer/css/images/menu/Thumbs.db
136
+ - lib/har/viewer/css/images/menu/shadowAlpha.png
137
+ - lib/har/viewer/css/images/menu/tabMenuCheckbox.png
138
+ - lib/har/viewer/css/images/menu/tabMenuPin.png
139
+ - lib/har/viewer/css/images/menu/tabMenuRadio.png
140
+ - lib/har/viewer/css/images/netBarBlocking.gif
141
+ - lib/har/viewer/css/images/netBarBlocking2.gif
142
+ - lib/har/viewer/css/images/netBarCached.gif
143
+ - lib/har/viewer/css/images/netBarConnecting.gif
144
+ - lib/har/viewer/css/images/netBarLoaded.gif
145
+ - lib/har/viewer/css/images/netBarReceiving.gif
146
+ - lib/har/viewer/css/images/netBarResolving.gif
147
+ - lib/har/viewer/css/images/netBarResponded.gif
148
+ - lib/har/viewer/css/images/netBarSending.gif
149
+ - lib/har/viewer/css/images/netBarWaiting.gif
150
+ - lib/har/viewer/css/images/page-timeline.png
151
+ - lib/har/viewer/css/images/save.png
152
+ - lib/har/viewer/css/images/spriteArrows.gif
153
+ - lib/har/viewer/css/images/spriteArrows.png
154
+ - lib/har/viewer/css/images/tabEnabled.png
155
+ - lib/har/viewer/css/images/timeline-sprites.png
156
+ - lib/har/viewer/css/images/tooltipConnectorUp.png
157
+ - lib/har/viewer/css/images/twisty-sprites.png
158
+ - lib/har/viewer/css/images/twistyClosed.png
159
+ - lib/har/viewer/css/images/twistyOpen.png
160
+ - lib/har/viewer/css/infoTip.css
161
+ - lib/har/viewer/css/pageList.css
162
+ - lib/har/viewer/css/pageStats.css
163
+ - lib/har/viewer/css/pageTimeline.css
164
+ - lib/har/viewer/css/popupMenu.css
165
+ - lib/har/viewer/css/previewTab.css
166
+ - lib/har/viewer/css/requestBody.css
167
+ - lib/har/viewer/css/requestList.css
168
+ - lib/har/viewer/css/schemaTab.css
169
+ - lib/har/viewer/css/tabView.css
170
+ - lib/har/viewer/css/toolTip.css
171
+ - lib/har/viewer/css/toolbar.css
172
+ - lib/har/viewer/css/xhrSpy.css
173
+ - lib/har/viewer/index.html
174
+ - lib/har/viewer/scripts/app.build.js
175
+ - lib/har/viewer/scripts/core/cookies.js
176
+ - lib/har/viewer/scripts/core/lib.js
177
+ - lib/har/viewer/scripts/core/trace.js
178
+ - lib/har/viewer/scripts/domplate/domTree.js
179
+ - lib/har/viewer/scripts/domplate/domplate.js
180
+ - lib/har/viewer/scripts/domplate/infoTip.js
181
+ - lib/har/viewer/scripts/domplate/popupMenu.js
182
+ - lib/har/viewer/scripts/domplate/tabView.js
183
+ - lib/har/viewer/scripts/domplate/toolTip.js
184
+ - lib/har/viewer/scripts/domplate/toolbar.js
185
+ - lib/har/viewer/scripts/downloadify/LICENSE.txt
186
+ - lib/har/viewer/scripts/downloadify/README.textile
187
+ - lib/har/viewer/scripts/downloadify/js/downloadify.min.js
188
+ - lib/har/viewer/scripts/downloadify/js/swfobject.js
189
+ - lib/har/viewer/scripts/downloadify/media/downloadify.swf
190
+ - lib/har/viewer/scripts/downloadify/src/Downloadify.as
191
+ - lib/har/viewer/scripts/downloadify/src/downloadify.js
192
+ - lib/har/viewer/scripts/excanvas/excanvas.js
193
+ - lib/har/viewer/scripts/harPreview.js
194
+ - lib/har/viewer/scripts/harViewer.js
195
+ - lib/har/viewer/scripts/jquery-plugins/jquery.json.js
196
+ - lib/har/viewer/scripts/nls/harViewer.js
197
+ - lib/har/viewer/scripts/nls/homeTab.js
198
+ - lib/har/viewer/scripts/nls/pageStats.js
199
+ - lib/har/viewer/scripts/nls/pageTimeline.js
200
+ - lib/har/viewer/scripts/nls/previewTab.js
201
+ - lib/har/viewer/scripts/nls/requestBody.js
202
+ - lib/har/viewer/scripts/nls/requestList.js
203
+ - lib/har/viewer/scripts/preview/harModel.js
204
+ - lib/har/viewer/scripts/preview/harSchema.js
205
+ - lib/har/viewer/scripts/preview/jsonSchema.js
206
+ - lib/har/viewer/scripts/preview/pageList.js
207
+ - lib/har/viewer/scripts/preview/ref.js
208
+ - lib/har/viewer/scripts/preview/requestBody.js
209
+ - lib/har/viewer/scripts/preview/requestList.js
210
+ - lib/har/viewer/scripts/requireplugins-jquery-1.4.2.js
211
+ - lib/har/viewer/scripts/syntax-highlighter/README.txt
212
+ - lib/har/viewer/scripts/syntax-highlighter/shCore.js
213
+ - lib/har/viewer/scripts/tabs/aboutTab.html
214
+ - lib/har/viewer/scripts/tabs/aboutTab.js
215
+ - lib/har/viewer/scripts/tabs/domTab.js
216
+ - lib/har/viewer/scripts/tabs/homeTab.html
217
+ - lib/har/viewer/scripts/tabs/homeTab.js
218
+ - lib/har/viewer/scripts/tabs/pageStats.js
219
+ - lib/har/viewer/scripts/tabs/pageTimeline.js
220
+ - lib/har/viewer/scripts/tabs/previewTab.js
221
+ - lib/har/viewer/scripts/tabs/schemaTab.js
222
+ - lib/har/viewer/scripts/xhr-spy/spy.js
223
+ - lib/har/viewer/scripts/xhr-spy/spy.php
224
+ - lib/har/viewer/scripts/xhr-spy/xhr.js
225
+ - lib/har/viewer/scripts/xhr-spy/xhrSpyBookmarklet.js
226
+ - schema.json
227
+ - spec/fixtures/entry1.json
228
+ - spec/fixtures/hars/bad.har
229
+ - spec/fixtures/hars/browser-blocking-time.har
230
+ - spec/fixtures/hars/google.com.har
231
+ - spec/fixtures/hars/inline-scripts-block.har
232
+ - spec/fixtures/hars/softwareishard.com.har
233
+ - spec/har/archive_spec.rb
234
+ - spec/har/entry_spec.rb
235
+ - spec/har/page_spec.rb
236
+ - spec/har/viewer_spec.rb
237
+ - spec/spec_helper.rb
238
+ has_rdoc: true
239
+ homepage: ""
240
+ licenses: []
241
+
242
+ post_install_message:
243
+ rdoc_options: []
244
+
245
+ require_paths:
246
+ - lib
247
+ required_ruby_version: !ruby/object:Gem::Requirement
248
+ none: false
249
+ requirements:
250
+ - - ">="
251
+ - !ruby/object:Gem::Version
252
+ segments:
253
+ - 0
254
+ version: "0"
255
+ required_rubygems_version: !ruby/object:Gem::Requirement
256
+ none: false
257
+ requirements:
258
+ - - ">"
259
+ - !ruby/object:Gem::Version
260
+ segments:
261
+ - 1
262
+ - 3
263
+ - 1
264
+ version: 1.3.1
265
+ requirements: []
266
+
267
+ rubyforge_project: har
268
+ rubygems_version: 1.3.7
269
+ signing_key:
270
+ specification_version: 3
271
+ summary: Ruby library to work with HTTP archives
272
+ test_files:
273
+ - spec/fixtures/entry1.json
274
+ - spec/fixtures/hars/bad.har
275
+ - spec/fixtures/hars/browser-blocking-time.har
276
+ - spec/fixtures/hars/google.com.har
277
+ - spec/fixtures/hars/inline-scripts-block.har
278
+ - spec/fixtures/hars/softwareishard.com.har
279
+ - spec/har/archive_spec.rb
280
+ - spec/har/entry_spec.rb
281
+ - spec/har/page_spec.rb
282
+ - spec/har/viewer_spec.rb
283
+ - spec/spec_helper.rb