activetracker 0.4.8 → 0.4.9
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/Gemfile.lock +1 -1
- data/app/controllers/active_tracker/base_controller.rb +5 -0
- data/app/views/active_tracker/requests/show.html.erb +13 -5
- data/lib/active_tracker/engine.rb +0 -9
- data/lib/active_tracker/output_capturer.rb +3 -3
- data/lib/active_tracker/plugin/request.rb +3 -2
- data/lib/active_tracker/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1e63a184eb0383b6a3b026b154906ee136da8897003079c08846159c42f8b9f3
|
4
|
+
data.tar.gz: 1fd517ea2dd413013e2c205144c6090a83ea95b2e0748a6fcd42723697cfb1cd
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e270d4d2bbc749e747083568e383999951444823055611d7ff8016877021cd0ffb543cc5fb883806b1945a8a8e91a4591e838f28fc1c68ec0c1fe7b2016310ef
|
7
|
+
data.tar.gz: 570a780b051840c76f1adcfc6491406dd70745bae55a1320331cbd7fe2587640a18415b79ca2c78c92f6f59c249fd0303ef3bb23d72e2700df23fca00468566d
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
6
6
|
|
7
7
|
## [Unreleased]
|
8
8
|
|
9
|
+
## [0.4.9] - 2019-11-06
|
10
|
+
### Added
|
11
|
+
- Pretty printing of JSON responses and minor display tweaks
|
12
|
+
|
9
13
|
## [0.4.8] - 2019-11-05
|
10
14
|
### Fixed
|
11
15
|
- Removed unnecessary ActionMailer class
|
data/Gemfile.lock
CHANGED
@@ -4,6 +4,11 @@ module ActiveTracker
|
|
4
4
|
|
5
5
|
layout "active_tracker/active_tracker"
|
6
6
|
|
7
|
+
helper ActiveTracker::ImagesHelper
|
8
|
+
helper ActiveTracker::ApplicationHelper
|
9
|
+
helper ActiveTracker::PaginationHelper
|
10
|
+
helper ActiveTracker::OutputHelper
|
11
|
+
|
7
12
|
before_action do
|
8
13
|
if ActiveTracker::Configuration.authentication.is_a? String
|
9
14
|
username, password = ActiveTracker::Configuration.authentication.split(":")
|
@@ -5,15 +5,15 @@
|
|
5
5
|
<div class="flex flex-grow mt-10 items-center">
|
6
6
|
<div class="rounded-lg bg-white text-sm text-gray-600 flex-1">
|
7
7
|
<div class="flex flex-grow items-center">
|
8
|
-
<div class="bg-gray-200 text-gray-600 uppercase w-32 p-4">Method</div>
|
8
|
+
<div class="bg-gray-200 text-gray-600 uppercase w-32 p-4 flex-shrink-0">Method</div>
|
9
9
|
<div class="pl-4"><span class="bg-gray-200 text-gray-600 rounded-full px-2 py-1 text-sm font-bold"><%= @request.tags[:method] %></span></div>
|
10
10
|
</div>
|
11
11
|
<div class="flex flex-grow items-center">
|
12
|
-
<div class="bg-gray-200 text-gray-600 uppercase w-32 p-4">Path</div>
|
12
|
+
<div class="bg-gray-200 text-gray-600 uppercase w-32 p-4 flex-shrink-0">Path</div>
|
13
13
|
<div class="pl-4"><%= @request.tags[:url] %></div>
|
14
14
|
</div>
|
15
15
|
<div class="flex flex-grow items-center">
|
16
|
-
<div class="bg-gray-200 text-gray-600 uppercase w-32 p-4">Status</div>
|
16
|
+
<div class="bg-gray-200 text-gray-600 uppercase w-32 p-4 flex-shrink-0">Status</div>
|
17
17
|
<% if @request.tags[:status].start_with?("2") %>
|
18
18
|
<div class="pl-4"><span class="bg-green-100 text-green-600 rounded-full px-2 py-1 text-sm font-bold"><%= @request.tags[:status] %></span></div>
|
19
19
|
<% elsif @request.tags[:status].start_with?("3") %>
|
@@ -25,7 +25,7 @@
|
|
25
25
|
<% end %>
|
26
26
|
</div>
|
27
27
|
<div class="flex flex-grow items-center">
|
28
|
-
<div class="bg-gray-200 text-gray-600 uppercase w-32 p-4">When</div>
|
28
|
+
<div class="bg-gray-200 text-gray-600 uppercase w-32 p-4 flex-shrink-0">When</div>
|
29
29
|
<div class="pl-4"><%= time_ago_in_words @request.log_at %> ago</div>
|
30
30
|
</div>
|
31
31
|
</div>
|
@@ -55,7 +55,15 @@
|
|
55
55
|
</div>
|
56
56
|
|
57
57
|
<div class="bg-black text-white font-mono whitespace-pre-wrap text-sm rounded-lg mt-2 p-4 overflow-x-auto js-activetracker-tab-content" data-content="logs"><%= escape_ansi @request.log.strip %></div>
|
58
|
-
<div class="bg-black text-white font-mono whitespace-pre-wrap text-sm rounded-lg mt-2 p-4 overflow-x-auto js-activetracker-tab-content hidden" data-content="response"><%=
|
58
|
+
<div class="bg-black text-white font-mono whitespace-pre-wrap text-sm rounded-lg mt-2 p-4 overflow-x-auto js-activetracker-tab-content hidden" data-content="response"><%=
|
59
|
+
output = @request.output
|
60
|
+
|
61
|
+
if (@request.content_type || "")["application/json"]
|
62
|
+
output = JSON.pretty_generate(JSON.parse(output))
|
63
|
+
end
|
64
|
+
|
65
|
+
output.strip
|
66
|
+
%></div>
|
59
67
|
<div class="bg-white rounded-b-lg mt-2 overflow-x-auto js-activetracker-tab-content hidden" data-content="queries">
|
60
68
|
<div class="bg-gray-200 text-gray-600 uppercase tracking-tight leading-none py-2 px-4 flex flex-grow">
|
61
69
|
<div class="flex-1">SQL</div>
|
@@ -4,15 +4,6 @@ module ActiveTracker
|
|
4
4
|
config.eager_load_paths += Dir["#{config.root}/lib/**/"]
|
5
5
|
config.eager_load_paths += Dir["#{config.root}/app/**/"]
|
6
6
|
|
7
|
-
initializer 'active_tracker_helper.action_controller' do
|
8
|
-
ActiveSupport.on_load :action_controller do
|
9
|
-
helper ActiveTracker::ImagesHelper
|
10
|
-
helper ActiveTracker::ApplicationHelper
|
11
|
-
helper ActiveTracker::PaginationHelper
|
12
|
-
helper ActiveTracker::OutputHelper
|
13
|
-
end
|
14
|
-
end
|
15
|
-
|
16
7
|
config.generators do |g|
|
17
8
|
g.test_framework :rspec, fixture: false
|
18
9
|
g.fixture_replacement :factory_girl, dir: 'spec/factories'
|
@@ -9,12 +9,12 @@ module ActiveTracker
|
|
9
9
|
status, headers, response = @app.call(env)
|
10
10
|
[status, headers, response]
|
11
11
|
ensure
|
12
|
-
capture(response)
|
12
|
+
capture(response, headers)
|
13
13
|
duration = (Time.current.to_f - start_time.to_f) * 1000
|
14
14
|
ActiveTracker::Plugin::Request.record_duration(duration)
|
15
15
|
end
|
16
16
|
|
17
|
-
def capture(response)
|
17
|
+
def capture(response, headers)
|
18
18
|
body = response.body rescue nil
|
19
19
|
unless body.is_a?(String)
|
20
20
|
body = body.to_a rescue [body.body] rescue "No body given"
|
@@ -30,7 +30,7 @@ module ActiveTracker
|
|
30
30
|
output = body.to_s
|
31
31
|
end
|
32
32
|
|
33
|
-
ActiveTracker::Plugin::Request.output_capture(output)
|
33
|
+
ActiveTracker::Plugin::Request.output_capture(output, headers["Content-type"])
|
34
34
|
end
|
35
35
|
|
36
36
|
end
|
@@ -108,8 +108,9 @@ module ActiveTracker
|
|
108
108
|
tag_current app: app_name
|
109
109
|
end
|
110
110
|
|
111
|
-
def self.output_capture(output)
|
111
|
+
def self.output_capture(output, content_type)
|
112
112
|
@output = output
|
113
|
+
@content_type = content_type
|
113
114
|
end
|
114
115
|
|
115
116
|
def self.record_duration(duration)
|
@@ -125,7 +126,7 @@ module ActiveTracker
|
|
125
126
|
log = apply_redactions(log)
|
126
127
|
@output = apply_redactions(@output)
|
127
128
|
|
128
|
-
ActiveTracker::Model.save("Request", {log: log, output: @output},
|
129
|
+
ActiveTracker::Model.save("Request", {log: log, output: @output, content_type: @content_type},
|
129
130
|
tags: ActiveTracker::Plugin::Request.current_tags,
|
130
131
|
data_type: "full",
|
131
132
|
expiry: 7.days,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: activetracker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Jeffries
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-11-
|
11
|
+
date: 2019-11-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|