pdsdk 0.7.2 → 0.7.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 39c9ed4b3e6e8baba5857b1d139fdd07b70f216ea824df5cca7615c4d0a35e95
4
- data.tar.gz: a7724e9273a984b397f4f6f45e439a1456f4a455475732e66eeae49dd3ca98b3
3
+ metadata.gz: fb92dc45ce943b3f926a620465cd438709cd6553c32d20f5456dc00e23ac3425
4
+ data.tar.gz: 6598913ec2bf56ac2783f6c4236c629f4daf7dd0908859e926bf1270e4505f57
5
5
  SHA512:
6
- metadata.gz: 0a51fd55ae435108b8e0a2e6e227f3deafd266d766b1c1dc7aa18ce0d47f70a5a3ae3eff8d9b16b9990acdf07354d39fada181e117eef9ec475f44f9d6b26933
7
- data.tar.gz: c2077c831e3a4134023dca07eeb223e3bd7c370693b5235cb3854d13f954687fee1f79222548e65e6d48bbbf5e4f4f6348d13f9672a6815d0024fd244de39bca
6
+ metadata.gz: 55a224b8171d52a2f165e9dd18429ff30fa13fb82c7ba1ab6ba98a2ee16460d9f2e6ca74329699e5684c651d39fa08179ffe9a99e2fbf25a9ddb7947f203ed61
7
+ data.tar.gz: 708c78f37fb14cace2e642bbc6ecf34849c1963d02832c99474d6e0d48a07901a8de9801cf1d37a3a5efdcd1d00dacd027b236787d1996d64b97da1a91ee31b6
data/lib/pdsdk/base.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require "pdsdk/version"
2
2
  require "pdsdk/logger"
3
3
  require "json"
4
+ require 'concurrent'
4
5
 
5
6
  module Pdsdk
6
7
  class Error < StandardError
@@ -29,7 +30,7 @@ module Pdsdk
29
30
  end
30
31
 
31
32
  # XXX self.send_message for string and becomes { message } ?
32
- def send_event(api_key, raw_event, opts={})
33
+ def send_event(api_key, raw_event, opts={}, include_response = false)
33
34
  hostname = ENV["PD_SDK_HOST"] || "sdk.m.pipedream.net"
34
35
  proto = ENV["PD_SDK_PROTO"] || "https"
35
36
  event = opts[:exports] || {}
@@ -41,8 +42,10 @@ module Pdsdk
41
42
  end
42
43
  uri = URI(_uri)
43
44
  use_ssl = uri.scheme == "https"
44
- # TODO connection pooling
45
- http = Net::HTTP.start(uri.host, uri.port, { use_ssl: use_ssl, open_timeout: 1 }) # XXX assume https
45
+ # TODO clean up old connections
46
+ # TODO ensure reconnects if client disconnects
47
+ @https ||= Concurrent::ThreadLocalVar.new { {} }
48
+ http = @https.value[_uri] ||= Net::HTTP.start(uri.host, uri.port, { use_ssl: use_ssl, open_timeout: 1 })
46
49
  logger.info "going to send event: #{event}" # TODO remove
47
50
  payload = event.to_json
48
51
  headers = {
@@ -56,7 +59,11 @@ module Pdsdk
56
59
  req.body = payload
57
60
  resp = http.request(req)
58
61
  logger.info "received response: #{resp}" # TODO remove
59
- { 'code' => resp.code.to_i, 'body' => resp.body }
62
+ if include_response
63
+ { 'code' => resp.code.to_i, 'body' => resp.body }
64
+ else
65
+ { 'code' => resp.code.to_i }
66
+ end
60
67
  end
61
68
 
62
69
  def load_metadata(metadata_path, merge_data)
data/lib/pdsdk/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pdsdk
2
- VERSION = "0.7.2"
2
+ VERSION = "0.7.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pdsdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.2
4
+ version: 0.7.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pipedream Team