tail-cf-plugin 0.0.21.pre → 0.0.22.pre

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.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ ZjZlZDcyYjI0YjBkMGExNDRhYjY2MjQ2YzQzODliMWFmZDZmMzZmNw==
5
+ data.tar.gz: !binary |-
6
+ ZTI5YjkzNWU0ODJlNjRmZGEyN2JmMWFlODc5MTM0ZTBiNzVmYWM2NQ==
7
+ !binary "U0hBNTEy":
8
+ metadata.gz: !binary |-
9
+ YzIyMzY3MzE5NDQ4MTkwNDkxZTE4MjNjN2M1Njg5ZDdkODUxYTBjNWQxNjU1
10
+ ZTBjMWQzOWIxNDcxZTBhMzQ3MTNiNWZlNWJkMDJmNjYyMDI1M2NjM2E0Mjdl
11
+ MzhiZWU0NTg3NDZhZGFmOTViOWFmYzAwMTljZDJlNTRkODg0NDQ=
12
+ data.tar.gz: !binary |-
13
+ N2M1NDE3ZGMyZjExYzJhMjAwYmQ1Njc5ZWFhNTczOTlkZGVhZDhiMWIzOGMy
14
+ Zjc3MjRkZDkzYTI1NDRiMzk0ZGY2ZDEyOTQ1MWM4Y2RhOTY0MWU4YWRjYzMz
15
+ ZDdmYzdkZjVmNjhhNTM1OWE1MDU4NGQ0YjE1M2MyMDA4MjI3MmQ=
@@ -5,14 +5,18 @@ require 'uri'
5
5
 
6
6
  module TailCfPlugin
7
7
  class LoggregatorClient
8
- def initialize(loggregator_host, user_token, output)
8
+ include CFoundry::TraceHelpers
9
+
10
+ def initialize(loggregator_host, user_token, output, trace)
9
11
  @output = output
10
12
  @loggregator_host = loggregator_host
11
13
  @user_token = user_token
14
+ @trace = trace
12
15
  end
13
16
 
14
17
  def listen(query_params)
15
18
  websocket_address = "wss://#{loggregator_host}:4443/tail/?#{hash_to_query(query_params)}"
19
+ output.puts "websocket_address: #{websocket_address}" if trace
16
20
 
17
21
  EM.run {
18
22
  ws = Faye::WebSocket::Client.new(websocket_address, nil, :headers => {"Origin" => "http://localhost", "Authorization" => user_token})
@@ -31,6 +35,7 @@ module TailCfPlugin
31
35
 
32
36
  ws.on :error do |event|
33
37
  output.puts("Server error")
38
+ output.puts(event.data.inspect) if trace
34
39
  end
35
40
 
36
41
  ws.on :close do |event|
@@ -51,6 +56,16 @@ module TailCfPlugin
51
56
  request = Net::HTTP::Get.new(uri.request_uri)
52
57
  request['Authorization'] = user_token
53
58
 
59
+ if trace
60
+ request_hash = {
61
+ :url => uri.request_uri,
62
+ :method => "GET",
63
+ :headers => sane_headers(request),
64
+ :body => ""
65
+ }
66
+ output.puts(request_trace(request_hash))
67
+ end
68
+
54
69
  response = http.request(request)
55
70
 
56
71
  return [] unless response.code == "200"
@@ -63,19 +78,39 @@ module TailCfPlugin
63
78
  msg = LogMessage.decode(record)
64
79
  messages << msg
65
80
  end
81
+
82
+ if trace
83
+ response_hash = {
84
+ :headers => sane_headers(response),
85
+ :status => response.code,
86
+ :body => messages
87
+ }
88
+ output.puts(response_trace(response_hash))
89
+ end
90
+
66
91
  messages
67
92
  end
68
93
 
69
94
  private
70
95
 
96
+ def sane_headers(obj)
97
+ hds = {}
98
+
99
+ obj.each_header do |k, v|
100
+ hds[k] = v
101
+ end
102
+
103
+ hds
104
+ end
105
+
71
106
  def keep_alive_interval
72
107
  25
73
108
  end
74
109
 
75
110
  def hash_to_query(hash)
76
- return URI.encode(hash.map{|k,v| "#{k}=#{v}"}.join("&"))
111
+ return URI.encode(hash.map { |k, v| "#{k}=#{v}" }.join("&"))
77
112
  end
78
113
 
79
- attr_reader :output, :loggregator_host, :user_token
114
+ attr_reader :output, :loggregator_host, :user_token, :trace
80
115
  end
81
116
  end
@@ -30,7 +30,7 @@ module TailCfPlugin
30
30
  fail "Please provide an application to log."
31
31
  end
32
32
 
33
- loggregator_client = LoggregatorClient.new(loggregator_host, client.token.auth_header, STDOUT)
33
+ loggregator_client = LoggregatorClient.new(loggregator_host, client.token.auth_header, STDOUT, input[:trace])
34
34
 
35
35
  if input[:recent]
36
36
  loggregator_client.dump_messages(log_target.query_params).each do |m|
metadata CHANGED
@@ -1,8 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tail-cf-plugin
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.21.pre
5
- prerelease: 7
4
+ version: 0.0.22.pre
6
5
  platform: ruby
7
6
  authors:
8
7
  - Pivotal
@@ -14,7 +13,6 @@ dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: cf
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -25,7 +23,6 @@ dependencies:
25
23
  type: :runtime
26
24
  prerelease: false
27
25
  version_requirements: !ruby/object:Gem::Requirement
28
- none: false
29
26
  requirements:
30
27
  - - ! '>='
31
28
  - !ruby/object:Gem::Version
@@ -36,7 +33,6 @@ dependencies:
36
33
  - !ruby/object:Gem::Dependency
37
34
  name: faye-websocket
38
35
  requirement: !ruby/object:Gem::Requirement
39
- none: false
40
36
  requirements:
41
37
  - - ~>
42
38
  - !ruby/object:Gem::Version
@@ -44,7 +40,6 @@ dependencies:
44
40
  type: :runtime
45
41
  prerelease: false
46
42
  version_requirements: !ruby/object:Gem::Requirement
47
- none: false
48
43
  requirements:
49
44
  - - ~>
50
45
  - !ruby/object:Gem::Version
@@ -52,7 +47,6 @@ dependencies:
52
47
  - !ruby/object:Gem::Dependency
53
48
  name: beefcake
54
49
  requirement: !ruby/object:Gem::Requirement
55
- none: false
56
50
  requirements:
57
51
  - - ~>
58
52
  - !ruby/object:Gem::Version
@@ -60,7 +54,6 @@ dependencies:
60
54
  type: :runtime
61
55
  prerelease: false
62
56
  version_requirements: !ruby/object:Gem::Requirement
63
- none: false
64
57
  requirements:
65
58
  - - ~>
66
59
  - !ruby/object:Gem::Version
@@ -82,27 +75,26 @@ files:
82
75
  homepage: http://github.com/cloudfoundry/tail-cf-plugin
83
76
  licenses:
84
77
  - Apache 2.0
78
+ metadata: {}
85
79
  post_install_message:
86
80
  rdoc_options: []
87
81
  require_paths:
88
82
  - lib
89
83
  - vendor
90
84
  required_ruby_version: !ruby/object:Gem::Requirement
91
- none: false
92
85
  requirements:
93
86
  - - ! '>='
94
87
  - !ruby/object:Gem::Version
95
88
  version: 1.9.3
96
89
  required_rubygems_version: !ruby/object:Gem::Requirement
97
- none: false
98
90
  requirements:
99
91
  - - ! '>'
100
92
  - !ruby/object:Gem::Version
101
93
  version: 1.3.1
102
94
  requirements: []
103
95
  rubyforge_project:
104
- rubygems_version: 1.8.25
96
+ rubygems_version: 2.0.6
105
97
  signing_key:
106
- specification_version: 3
98
+ specification_version: 4
107
99
  summary: CF Tail
108
100
  test_files: []