wovnrb 0.1.39 → 0.1.40

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
  SHA1:
3
- metadata.gz: 4b5e9cdc92a69314068f8137ea70ce474ea9b471
4
- data.tar.gz: 470a31b936dbd76a3a1c3a533a37591bc8dbb2d7
3
+ metadata.gz: cffb646cb8c14f99701296e7b22d0738bc4d24b3
4
+ data.tar.gz: b7267db819993721d41b82eda2c7fd801e69a2e3
5
5
  SHA512:
6
- metadata.gz: 184c301826c51a1ccdd9493ea7ff000b84d24ad29d0a2642af3c07606dbd4431a420e5778218f3351216e418eb94128d2f1868bba90cbc14b96ea8c24fc3bda7
7
- data.tar.gz: 64dc9c7978f99cc1e869cc58f004cb34fc899e5b05523e5d5d68dfe908d584c5ecf133235f11ac48d2ce2994695e0ae26af68e35ad5c62cc3fb5b5a3406f2c00
6
+ metadata.gz: 8a41c51227b2ec14e127ad60991096a45bab558ee70934a59ea29f8d3479b8a0885e64d2ef6a55830eba29623b22eb6a18b1b335721dfa3091488d6abfaeaf2d
7
+ data.tar.gz: 43ec97320cbf1f2f483d81f3b30ea14afe14a61b399e34e44ce5d632b79a7be7d208999f90ed8f271a29e7e131535380cc6a00e07a037db8d4eaa7f778f21ff2
data/lib/wovnrb/store.rb CHANGED
@@ -1,5 +1,7 @@
1
1
  require 'redis'
2
2
  require 'net/http'
3
+ require 'socket'
4
+ require 'cgi'
3
5
  require 'Logger' unless defined?(Logger)
4
6
 
5
7
  module Wovnrb
@@ -124,21 +126,31 @@ module Wovnrb
124
126
  # @param url [String] The url to get the values for
125
127
  # @return [Hash] The values Hash for the passed in url
126
128
  def get_values(url)
127
- redis_key = 'WOVN:BACKEND:STORAGE:' + url.gsub(/\/$/, '') + ':' + settings['user_token']
129
+ url = url.gsub(/\/$/, '')
130
+ redis_key = 'WOVN:BACKEND:STORAGE:' + url + ':' + settings['user_token']
128
131
  cli = Redis.new(host: settings['backend_host'], port: settings['backend_port'])
129
132
  begin
130
133
  vals = cli.get(redis_key) || '{}'
134
+ vals = JSON.parse(vals)
131
135
  rescue
132
136
  logger = Logger.new('../error.log')
133
137
  logger.error("Redis GET request failed with the following parameters:\nhost: #{settings['backend_host']}\nport: #{settings['backend_port']}\nkey: #{redis_key}")
134
138
  vals = {}
135
139
  end
140
+ if vals['expired'] || vals.empty?
141
+ host = 'j.wovn.io'
142
+ post_data = "{\"user_token\":\"#{settings['user_token']}\", \"url\":\"#{CGI.escape(url)}\"}"
143
+ headers = "Host: #{host}\r\nContent-Type: application/json;charset=UTF-8\r\nContent-Length: #{post_data.bytesize}\r\nConnection: close\r\n\r\n"
144
+ s = TCPSocket.new(host, 80)
145
+ s.puts "POST /pages/cache_backend HTTP/1.1\r\n#{headers}#{post_data}"
146
+ s.close
147
+ end
136
148
  # handle this on the widget
137
149
  #if vals.empty?
138
150
  # uri = URI.parse('http://api.wovn.io/v0/page/add')
139
151
  # Net::HTTP.post_form(uri, :user_token => user_token, :secret_key => @settings['secret_key'], :url => url)
140
152
  #end
141
- JSON.parse(vals)
153
+ vals
142
154
  end
143
155
 
144
156
  end
@@ -1,3 +1,3 @@
1
1
  module Wovnrb
2
- VERSION = "0.1.39"
2
+ VERSION = "0.1.40"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wovnrb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.39
4
+ version: 0.1.40
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jeff Sandford
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2015-08-31 00:00:00.000000000 Z
12
+ date: 2015-09-02 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: nokogumbo