BtSync 0.3.2 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- NGJmZjExMGJiNzcwOTU1MTVhM2EwZDI1YzVkYmVmOGYwMWE0MDI4Mg==
4
+ Mzg5MTEzZmIxNThlNDg4Y2MyYWE3NjkyN2RiMjU5YzdmNDY0ZGY4OA==
5
5
  data.tar.gz: !binary |-
6
- YjAwZDg4ZTk4YzI5NTRmNmEyNjk4M2E2YzI1ODExZDU0ZGFjYzk5NQ==
6
+ ZjE4Mjk4YjNhMzI0OTcwNTlkOGEwZDcwN2VlMGY1MTgzYjY0MTVkZA==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ZTE0ZWFkZWQ2MDA2NTdkZTAzYjE2NjkwODhjNTg5Y2I1NzNkMjVkMTUyNWI0
10
- NTY0NmYxMzUwNTY0MjFiZmZkYTQ1NjRhMmViNTdkYWY1NDk3YTM3M2Q3ZWRh
11
- NTAzY2E1NDgxNzgwMjQ5MmViZWRiYjg3Yzc2ZTM4MGViODcwM2E=
9
+ MjBhNmY4MDYyMmMyYzRmZmYyZmE3YTg0ZmZhY2JkZWQ3ZGE0NGRjMzY3MDUx
10
+ YmQ5Y2FhMDFjMjU5ZTFmZGMzZGM5YjVjNzdkOWE2NDQxMTI1MzU4MGM2ZmQ5
11
+ NzFkNjliMzE4NDMyYWE4NDRmMzYwMWNkOTU1NWJkOGY0MTc0Yzk=
12
12
  data.tar.gz: !binary |-
13
- ZWU3YzZjNzA0MGI2M2ViYWFkYmY0NzU2MzQyODdhZjkwNzE4NGJkMDVlNjQx
14
- MzFmZWY1MTZkMWE0ZDYzMDEyNjA2ZjYyNDUwYjZlOTI1ZTUzZjU1YThmYjlh
15
- MGQzYmUwNzMxOWIyNGNjMjViYTE2ZDFlMjg4Y2JmOThhMDg1YWU=
13
+ NTUwY2Y4MjMxOWVmYmRhYTU2NzUxNjkzZDlhYTU3NWJlYmE1YzNhYjRmMmJk
14
+ MWVlNDQxYWNjN2MzMjJlMDkxMmU2OTMzZjhhZjRmNTM4ZmZlNTUzZmFmMTE2
15
+ YjhmYWQ5MmRhZDdmOTQ3NjFhMTcyODY1NjQ0YTFiMGZkZDI0Yjg=
data/README.md CHANGED
@@ -28,7 +28,7 @@ bittorrent = BtSync.new
28
28
 
29
29
  A system directory managed with Bittorrent Sync is represented as a ```BtSync::Directory```.
30
30
 
31
- On a ```BtSync::Directory`` you can
31
+ On a ```BtSync::Directory``` you can
32
32
 
33
33
  - Update the secret
34
34
  - change the settings for
@@ -25,4 +25,5 @@ Gem::Specification.new do |spec|
25
25
  spec.add_development_dependency "vcr"
26
26
 
27
27
  spec.add_runtime_dependency "httparty"
28
+ spec.add_runtime_dependency "active_support"
28
29
  end
@@ -8,10 +8,11 @@ class BtSync
8
8
  include BtCommunicator
9
9
  include HTTParty
10
10
  default_params :output => 'json'
11
-
12
- def initialize uri=nil, port=nil
13
- @uri = uri
14
- @port = port
11
+ def initialize options = {}
12
+ @opts = options.symbolize
13
+ @opts.merge!({:uri => "http://localhost", :port => "8888", :user => "", :password => ""})
14
+ @uri = @opts[:uri]
15
+ @port = @opts[:port]
15
16
  @errors = []
16
17
  @token_cache = 0
17
18
  end
@@ -20,11 +21,11 @@ class BtSync
20
21
  @errors = []
21
22
  errors
22
23
  end
23
- def get_folders
24
+ def folders
24
25
  f = get_folder_list["folders"]
25
26
  folders = []
26
27
  f.each do |folder|
27
- folders << Directory.new(folder["name"], folder["secret"])
28
+ folders << Directory.new(folder["name"], folder["secret"], self)
28
29
  end
29
30
  folders
30
31
  end
@@ -32,7 +33,7 @@ class BtSync
32
33
  s = get_folder_list["speed"].split(", ")
33
34
  up = s[0].split(" ")
34
35
  down = s[1].split(" ")
35
- {:up => up[0], :down => down[0], :metric => up[1]}
36
+ {:up => {:speed => up[0], :metric => up[1]}, :down => {:speed => down[0], :metric => down[1]}}
36
37
  end
37
38
  def remove_folder folder_name, my_secret = nil
38
39
  my_secret ||= secret(folder_name)
@@ -46,7 +47,7 @@ class BtSync
46
47
  @errors << res["message"]
47
48
  return false
48
49
  end
49
- Directory.new(folder_name, my_secret)
50
+ Directory.new(folder_name, my_secret, self)
50
51
  end
51
52
 
52
53
  def get_settings
@@ -72,7 +73,7 @@ class BtSync
72
73
  end
73
74
 
74
75
  def secret with_dir
75
- f = get_folders.select{|folder| folder.name == with_dir}.first
76
+ f = folders.select{|folder| folder.name == with_dir}.first
76
77
  f.secret
77
78
  end
78
79
  private
@@ -89,11 +90,18 @@ class BtSync
89
90
 
90
91
  attr_reader :secret, :name
91
92
 
92
- def initialize name, secret
93
+ def initialize name, secret, btsync
93
94
  @name = name
94
95
  @secret = secret
96
+
97
+ @uri = btsync.uri
98
+ @port = btsync.port
99
+
100
+ find_or_create
101
+
95
102
  @errors = []
96
103
  end
104
+
97
105
  def destroy
98
106
  self.class.get(path('removefolder'), :query => { :name => name, :secret => secret}, :headers => {"Cookie" => cookies})
99
107
  self.instance_variables.each{|v| v = nil}
@@ -109,7 +117,16 @@ class BtSync
109
117
  false
110
118
  end
111
119
  end
112
- def get_known_hosts
120
+ def folders
121
+ res = self.class.get(path('getdir'), :query => {:dir => @name}, :headers => {"Cookie" => cookies })
122
+ res.parsed_response["folders"]
123
+ end
124
+ def peers
125
+ res = self.class.get(path('getsyncfolders'), :headers => {"Cookie" => cookies })
126
+ f = res.parsed_response["folders"].select{|f| f["name"] == name}.first
127
+ f["peers"]
128
+ end
129
+ def known_hosts
113
130
  res = self.class.get(path('getknownhosts'), :query => {:name => name, :secret => secret}, :headers => {"Cookie" => cookies })
114
131
  res["hosts"]
115
132
  end
@@ -188,5 +205,27 @@ class BtSync
188
205
  0
189
206
  end
190
207
  end
208
+ def find_or_create
209
+ res = self.class.get(path('getsyncfolders'), :headers => {"Cookie" => cookies })
210
+ folder_list = res.parsed_response["folders"]
211
+ if folder_list.map{|f| f["name"]}.include? name
212
+ true
213
+ else
214
+ res = self.class.get(path('addsyncfolder'), :query => { :name => name, :secret => secret}, :headers => {"Cookie" => cookies})
215
+ end
216
+ end
191
217
  end
192
218
  end
219
+ class Hash
220
+ def symbolize
221
+ r = {}
222
+ self.each do |k,v|
223
+ if k.is_a? String
224
+ r[k.to_symbol] = v
225
+ else
226
+ r[k] = v
227
+ end
228
+ end
229
+ r
230
+ end
231
+ end
@@ -1,14 +1,15 @@
1
1
  module BtCommunicator
2
2
  include HTTParty
3
+
3
4
  def generate_secret
4
5
  res = self.class.get(path('generatesecret'), :headers => {"Cookie" => cookies })
5
6
  res.parsed_response["secret"]
6
7
  end
7
8
  def port
8
- @port ||= '8888'
9
+ @port
9
10
  end
10
11
  def uri
11
- @uri ||= "http://localhost"
12
+ @uri
12
13
  end
13
14
  def token force = false
14
15
  @token_cache ||= 0
@@ -23,14 +24,18 @@ module BtCommunicator
23
24
  def cookies
24
25
  @cookies ||= request_token.headers["set-cookie"].split("; ")[0]
25
26
  end
27
+ def root_url
28
+ "#{uri}:#{port}/"
29
+ end
26
30
  def request_token force = false
27
31
  if @request_token.nil? || force
28
- @request_token = self.class.get("#{uri}:#{port}/gui/token.html", :query => {:output => :text})
32
+ @request_token = self.class.get("#{root_url}gui/token.html", :query => {:output => :text})
29
33
  else
30
34
  @request_token
31
35
  end
32
36
  end
37
+
33
38
  def path action_name
34
- "#{uri}:#{port}/gui/?token=#{token}&action=#{action_name}"
39
+ "#{root_url}gui/?token=#{token}&action=#{action_name}"
35
40
  end
36
41
  end
@@ -1,3 +1,3 @@
1
1
  module BtsyncVersion
2
- VERSION = "0.3.2"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -9,7 +9,7 @@ describe 'BtSync' do
9
9
 
10
10
  it "can view a folder list" do
11
11
  VCR.use_cassette("get-folders") do
12
- @folder = @bt.get_folders.first
12
+ @folder = @bt.folders.first
13
13
  end
14
14
  @folder.name.should == "/home/chris/Documents"
15
15
  end
@@ -37,7 +37,7 @@ describe 'BtSync' do
37
37
  @bt.add_folder '/home/chris/bt_test'
38
38
  end
39
39
  VCR.use_cassette("add-folder-list") do
40
- folders = @bt.get_folders
40
+ folders = @bt.folders
41
41
  folders.count.should == 2
42
42
  folder = folders.last
43
43
  folder.name.should == "/home/chris/bt_test"
@@ -46,7 +46,7 @@ describe 'BtSync' do
46
46
  @bt.remove_folder '/home/chris/bt_test'
47
47
  end
48
48
  VCR.use_cassette("remove-folder-list") do
49
- folders = @bt.get_folders
49
+ folders = @bt.folders
50
50
  folders.count.should == 1
51
51
  folder = folders.last
52
52
  folder.name.should == "/home/chris/Documents"
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=7P1iDM-j30_D4KpN4veMfy1O12KRXyAdIaSU2A1JsesOOPcU7IJwtBlOr1EAAAAA
5
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=wbwVIFfLlCmeQpYzpa5InKk1Dxbc-8tnik1iTb3qnMM6mayySjmz5f_nr1EAAAAA
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  Cookie:
11
- - GUID=QCUnp9BcpaVLftYoQ2ZB
11
+ - GUID=mC6ybzSiwtc7IvhuMNSW
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -17,17 +17,134 @@ http_interactions:
17
17
  Connection:
18
18
  - keep-alive
19
19
  Content-Length:
20
- - '311'
20
+ - '401'
21
21
  Content-Type:
22
22
  - application/json; charset=utf-8
23
23
  Cache-Control:
24
24
  - no-cache
25
25
  body:
26
26
  encoding: US-ASCII
27
- string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ ],
28
- "secret": "6VX7XSMS5R2CSDKLXBENUZIENMVUONRT", "size": "21 B in 1 files" },
29
- { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "EV63ZJO7DX25LMMRDDQWDDQ3XZ4ETJV5",
27
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
28
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
29
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
30
+ files" }, { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "3QSICS26CUR326TWBTYI27KW7GCCNHVO",
30
31
  "size": "0 B in 0 files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
31
32
  http_version:
32
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
33
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
34
+ - request:
35
+ method: get
36
+ uri: http://localhost:8888/gui/token.html?output=text
37
+ body:
38
+ encoding: US-ASCII
39
+ string: ''
40
+ headers: {}
41
+ response:
42
+ status:
43
+ code: 200
44
+ message: OK
45
+ headers:
46
+ Connection:
47
+ - keep-alive
48
+ Content-Length:
49
+ - '121'
50
+ Content-Type:
51
+ - text/html
52
+ Set-Cookie:
53
+ - GUID=9V0bdfMJFRxDvhxl6sGr; path=/
54
+ Cache-Control:
55
+ - no-cache
56
+ body:
57
+ encoding: US-ASCII
58
+ string: <html><div id='token' style='display:none;'>9-8pha9n98_gwGGjSatoshysCT4ewkSn03czKuXOSM3yobKNMHjNcv_nr1EAAAAA</div></html>
59
+ http_version:
60
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
61
+ - request:
62
+ method: get
63
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=9-8pha9n98_gwGGjSatoshysCT4ewkSn03czKuXOSM3yobKNMHjNcv_nr1EAAAAA
64
+ body:
65
+ encoding: US-ASCII
66
+ string: ''
67
+ headers:
68
+ Cookie:
69
+ - GUID=9V0bdfMJFRxDvhxl6sGr
70
+ response:
71
+ status:
72
+ code: 200
73
+ message: OK
74
+ headers:
75
+ Connection:
76
+ - keep-alive
77
+ Content-Length:
78
+ - '401'
79
+ Content-Type:
80
+ - application/json; charset=utf-8
81
+ Cache-Control:
82
+ - no-cache
83
+ body:
84
+ encoding: US-ASCII
85
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
86
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
87
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
88
+ files" }, { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "3QSICS26CUR326TWBTYI27KW7GCCNHVO",
89
+ "size": "0 B in 0 files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
90
+ http_version:
91
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
92
+ - request:
93
+ method: get
94
+ uri: http://localhost:8888/gui/token.html?output=text
95
+ body:
96
+ encoding: US-ASCII
97
+ string: ''
98
+ headers: {}
99
+ response:
100
+ status:
101
+ code: 200
102
+ message: OK
103
+ headers:
104
+ Connection:
105
+ - keep-alive
106
+ Content-Length:
107
+ - '121'
108
+ Content-Type:
109
+ - text/html
110
+ Set-Cookie:
111
+ - GUID=RDIgYa5udp1XpkjJ0krV; path=/
112
+ Cache-Control:
113
+ - no-cache
114
+ body:
115
+ encoding: US-ASCII
116
+ string: <html><div id='token' style='display:none;'>YIzd-NFqpDaDP7STwnuNGfeuQEV2bfBi6aOOTFai1H21p5b-cGpS5P_nr1EAAAAA</div></html>
117
+ http_version:
118
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
119
+ - request:
120
+ method: get
121
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=YIzd-NFqpDaDP7STwnuNGfeuQEV2bfBi6aOOTFai1H21p5b-cGpS5P_nr1EAAAAA
122
+ body:
123
+ encoding: US-ASCII
124
+ string: ''
125
+ headers:
126
+ Cookie:
127
+ - GUID=RDIgYa5udp1XpkjJ0krV
128
+ response:
129
+ status:
130
+ code: 200
131
+ message: OK
132
+ headers:
133
+ Connection:
134
+ - keep-alive
135
+ Content-Length:
136
+ - '401'
137
+ Content-Type:
138
+ - application/json; charset=utf-8
139
+ Cache-Control:
140
+ - no-cache
141
+ body:
142
+ encoding: US-ASCII
143
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
144
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
145
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
146
+ files" }, { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "3QSICS26CUR326TWBTYI27KW7GCCNHVO",
147
+ "size": "0 B in 0 files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
148
+ http_version:
149
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
33
150
  recorded_with: VCR 2.5.0
@@ -19,23 +19,23 @@ http_interactions:
19
19
  Content-Type:
20
20
  - text/html
21
21
  Set-Cookie:
22
- - GUID=QCUnp9BcpaVLftYoQ2ZB; path=/
22
+ - GUID=mC6ybzSiwtc7IvhuMNSW; path=/
23
23
  Cache-Control:
24
24
  - no-cache
25
25
  body:
26
26
  encoding: US-ASCII
27
- string: <html><div id='token' style='display:none;'>7P1iDM-j30_D4KpN4veMfy1O12KRXyAdIaSU2A1JsesOOPcU7IJwtBlOr1EAAAAA</div></html>
27
+ string: <html><div id='token' style='display:none;'>wbwVIFfLlCmeQpYzpa5InKk1Dxbc-8tnik1iTb3qnMM6mayySjmz5f_nr1EAAAAA</div></html>
28
28
  http_version:
29
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
29
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
30
30
  - request:
31
31
  method: get
32
- uri: http://localhost:8888/gui/?action=generatesecret&output=json&token=7P1iDM-j30_D4KpN4veMfy1O12KRXyAdIaSU2A1JsesOOPcU7IJwtBlOr1EAAAAA
32
+ uri: http://localhost:8888/gui/?action=generatesecret&output=json&token=wbwVIFfLlCmeQpYzpa5InKk1Dxbc-8tnik1iTb3qnMM6mayySjmz5f_nr1EAAAAA
33
33
  body:
34
34
  encoding: US-ASCII
35
35
  string: ''
36
36
  headers:
37
37
  Cookie:
38
- - GUID=QCUnp9BcpaVLftYoQ2ZB
38
+ - GUID=mC6ybzSiwtc7IvhuMNSW
39
39
  response:
40
40
  status:
41
41
  code: 200
@@ -51,19 +51,19 @@ http_interactions:
51
51
  - no-cache
52
52
  body:
53
53
  encoding: US-ASCII
54
- string: ! '{ "rosecret": "RXMAKBNPSWLXHML7WKZJLNDKI5N7ESOJZ", "secret": "LGNHKDANNJJIGN4NU4PBV4IS3TAEWGDS"
54
+ string: ! '{ "rosecret": "RHFJPTK4YT2LXCBCXMCHTUJYUBBQFQ5AD", "secret": "3QSICS26CUR326TWBTYI27KW7GCCNHVO"
55
55
  }'
56
56
  http_version:
57
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
57
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
58
58
  - request:
59
59
  method: get
60
- uri: http://localhost:8888/gui/?action=addsyncfolder&name=/home/chris/bt_test&output=json&secret=LGNHKDANNJJIGN4NU4PBV4IS3TAEWGDS&token=7P1iDM-j30_D4KpN4veMfy1O12KRXyAdIaSU2A1JsesOOPcU7IJwtBlOr1EAAAAA
60
+ uri: http://localhost:8888/gui/?action=addsyncfolder&name=/home/chris/bt_test&output=json&secret=3QSICS26CUR326TWBTYI27KW7GCCNHVO&token=wbwVIFfLlCmeQpYzpa5InKk1Dxbc-8tnik1iTb3qnMM6mayySjmz5f_nr1EAAAAA
61
61
  body:
62
62
  encoding: US-ASCII
63
63
  string: ''
64
64
  headers:
65
65
  Cookie:
66
- - GUID=QCUnp9BcpaVLftYoQ2ZB
66
+ - GUID=mC6ybzSiwtc7IvhuMNSW
67
67
  response:
68
68
  status:
69
69
  code: 200
@@ -72,16 +72,72 @@ http_interactions:
72
72
  Connection:
73
73
  - keep-alive
74
74
  Content-Length:
75
- - '160'
75
+ - '14'
76
76
  Content-Type:
77
77
  - application/json; charset=utf-8
78
78
  Cache-Control:
79
79
  - no-cache
80
80
  body:
81
81
  encoding: US-ASCII
82
- string: ! '{ "error": 200, "message": "Selected folder is already added to BitTorrent
83
- Sync.", "n": "\/home\/chris\/bt_test", "secret": "LGNHKDANNJJIGN4NU4PBV4IS3TAEWGDS"
84
- }'
82
+ string: ! '{ "error": 0 }'
83
+ http_version:
84
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
85
+ - request:
86
+ method: get
87
+ uri: http://localhost:8888/gui/token.html?output=text
88
+ body:
89
+ encoding: US-ASCII
90
+ string: ''
91
+ headers: {}
92
+ response:
93
+ status:
94
+ code: 200
95
+ message: OK
96
+ headers:
97
+ Connection:
98
+ - keep-alive
99
+ Content-Length:
100
+ - '121'
101
+ Content-Type:
102
+ - text/html
103
+ Set-Cookie:
104
+ - GUID=8OWfABv5EA56p7dvTtAA; path=/
105
+ Cache-Control:
106
+ - no-cache
107
+ body:
108
+ encoding: US-ASCII
109
+ string: <html><div id='token' style='display:none;'>WQZyctyOeKAMU3BLfVmbR_bhZHbmVuthpx2yXnfqpRDJfZ462hB_A__nr1EAAAAA</div></html>
110
+ http_version:
111
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
112
+ - request:
113
+ method: get
114
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=WQZyctyOeKAMU3BLfVmbR_bhZHbmVuthpx2yXnfqpRDJfZ462hB_A__nr1EAAAAA
115
+ body:
116
+ encoding: US-ASCII
117
+ string: ''
118
+ headers:
119
+ Cookie:
120
+ - GUID=8OWfABv5EA56p7dvTtAA
121
+ response:
122
+ status:
123
+ code: 200
124
+ message: OK
125
+ headers:
126
+ Connection:
127
+ - keep-alive
128
+ Content-Length:
129
+ - '401'
130
+ Content-Type:
131
+ - application/json; charset=utf-8
132
+ Cache-Control:
133
+ - no-cache
134
+ body:
135
+ encoding: US-ASCII
136
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
137
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
138
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
139
+ files" }, { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "3QSICS26CUR326TWBTYI27KW7GCCNHVO",
140
+ "size": "0 B in 0 files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
85
141
  http_version:
86
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
142
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
87
143
  recorded_with: VCR 2.5.0
@@ -19,23 +19,23 @@ http_interactions:
19
19
  Content-Type:
20
20
  - text/html
21
21
  Set-Cookie:
22
- - GUID=UlSArc3wDYfvcUrEuASX; path=/
22
+ - GUID=liFxUElAitKmeGMh1NCf; path=/
23
23
  Cache-Control:
24
24
  - no-cache
25
25
  body:
26
26
  encoding: US-ASCII
27
- string: <html><div id='token' style='display:none;'>3LoV0nj_bN345atjFiAg6B8JpJT6Fg8Dxh8U5QFeBF6kpf1M0MsyqRlOr1EAAAAA</div></html>
27
+ string: <html><div id='token' style='display:none;'>koA3uu3isY4uxebU8PXhIHYBGdDptf8ejZ7KrqmFJcgOtXvyQKRE6f_nr1EAAAAA</div></html>
28
28
  http_version:
29
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
29
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
30
30
  - request:
31
31
  method: get
32
- uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=3LoV0nj_bN345atjFiAg6B8JpJT6Fg8Dxh8U5QFeBF6kpf1M0MsyqRlOr1EAAAAA
32
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=koA3uu3isY4uxebU8PXhIHYBGdDptf8ejZ7KrqmFJcgOtXvyQKRE6f_nr1EAAAAA
33
33
  body:
34
34
  encoding: US-ASCII
35
35
  string: ''
36
36
  headers:
37
37
  Cookie:
38
- - GUID=UlSArc3wDYfvcUrEuASX
38
+ - GUID=liFxUElAitKmeGMh1NCf
39
39
  response:
40
40
  status:
41
41
  code: 200
@@ -44,17 +44,74 @@ http_interactions:
44
44
  Connection:
45
45
  - keep-alive
46
46
  Content-Length:
47
- - '311'
47
+ - '276'
48
48
  Content-Type:
49
49
  - application/json; charset=utf-8
50
50
  Cache-Control:
51
51
  - no-cache
52
52
  body:
53
53
  encoding: US-ASCII
54
- string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ ],
55
- "secret": "6VX7XSMS5R2CSDKLXBENUZIENMVUONRT", "size": "21 B in 1 files" },
56
- { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "EV63ZJO7DX25LMMRDDQWDDQ3XZ4ETJV5",
57
- "size": "0 B in 0 files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
54
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
55
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
56
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
57
+ files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
58
58
  http_version:
59
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
59
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
60
+ - request:
61
+ method: get
62
+ uri: http://localhost:8888/gui/token.html?output=text
63
+ body:
64
+ encoding: US-ASCII
65
+ string: ''
66
+ headers: {}
67
+ response:
68
+ status:
69
+ code: 200
70
+ message: OK
71
+ headers:
72
+ Connection:
73
+ - keep-alive
74
+ Content-Length:
75
+ - '121'
76
+ Content-Type:
77
+ - text/html
78
+ Set-Cookie:
79
+ - GUID=j7SP0pU0UAufo2POYEwP; path=/
80
+ Cache-Control:
81
+ - no-cache
82
+ body:
83
+ encoding: US-ASCII
84
+ string: <html><div id='token' style='display:none;'>i5DQUA_HEzcBjT9ElX_jbqJTf8KHbFZy-_5jLuaHw91sLKLBu-llvf_nr1EAAAAA</div></html>
85
+ http_version:
86
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
87
+ - request:
88
+ method: get
89
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=i5DQUA_HEzcBjT9ElX_jbqJTf8KHbFZy-_5jLuaHw91sLKLBu-llvf_nr1EAAAAA
90
+ body:
91
+ encoding: US-ASCII
92
+ string: ''
93
+ headers:
94
+ Cookie:
95
+ - GUID=j7SP0pU0UAufo2POYEwP
96
+ response:
97
+ status:
98
+ code: 200
99
+ message: OK
100
+ headers:
101
+ Connection:
102
+ - keep-alive
103
+ Content-Length:
104
+ - '276'
105
+ Content-Type:
106
+ - application/json; charset=utf-8
107
+ Cache-Control:
108
+ - no-cache
109
+ body:
110
+ encoding: US-ASCII
111
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
112
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
113
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
114
+ files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
115
+ http_version:
116
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
60
117
  recorded_with: VCR 2.5.0
@@ -19,23 +19,23 @@ http_interactions:
19
19
  Content-Type:
20
20
  - text/html
21
21
  Set-Cookie:
22
- - GUID=E8QEpnn31pUHTfaat2xB; path=/
22
+ - GUID=kCNiVsPWHYbdFb8OAME7; path=/
23
23
  Cache-Control:
24
24
  - no-cache
25
25
  body:
26
26
  encoding: US-ASCII
27
- string: <html><div id='token' style='display:none;'>xhHpPZNEhQHIv1F-lM7CrvqrsNp_F2-lgweazZXUsAt3ZECxYkkvmhlOr1EAAAAA</div></html>
27
+ string: <html><div id='token' style='display:none;'>MvZ5eWyA_YmLxeMvCK8uaEhlAHHXduD3sdM3lX5CeOfTp7_fiB2at__nr1EAAAAA</div></html>
28
28
  http_version:
29
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
29
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
30
30
  - request:
31
31
  method: get
32
- uri: http://localhost:8888/gui/?action=getostype&output=json&token=xhHpPZNEhQHIv1F-lM7CrvqrsNp_F2-lgweazZXUsAt3ZECxYkkvmhlOr1EAAAAA
32
+ uri: http://localhost:8888/gui/?action=getostype&output=json&token=MvZ5eWyA_YmLxeMvCK8uaEhlAHHXduD3sdM3lX5CeOfTp7_fiB2at__nr1EAAAAA
33
33
  body:
34
34
  encoding: US-ASCII
35
35
  string: ''
36
36
  headers:
37
37
  Cookie:
38
- - GUID=E8QEpnn31pUHTfaat2xB
38
+ - GUID=kCNiVsPWHYbdFb8OAME7
39
39
  response:
40
40
  status:
41
41
  code: 200
@@ -53,5 +53,5 @@ http_interactions:
53
53
  encoding: US-ASCII
54
54
  string: ! '{ "os": "linux" }'
55
55
  http_version:
56
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
56
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
57
57
  recorded_with: VCR 2.5.0
@@ -19,23 +19,23 @@ http_interactions:
19
19
  Content-Type:
20
20
  - text/html
21
21
  Set-Cookie:
22
- - GUID=5VHKF4UDutvWFb60xkAE; path=/
22
+ - GUID=bA1jLdWQ9x6GDY8dj8wP; path=/
23
23
  Cache-Control:
24
24
  - no-cache
25
25
  body:
26
26
  encoding: US-ASCII
27
- string: <html><div id='token' style='display:none;'>hyPzlNlTakxYRbFDwMZVRm5dPpjbgMpwrUb3MCh4piy_H5W8E2JUxhlOr1EAAAAA</div></html>
27
+ string: <html><div id='token' style='display:none;'>UbYWrwdHBZ_dxqyBVpxZNfPr9kgNwPJPWBJ7_nBoWulnWpmwaCroa__nr1EAAAAA</div></html>
28
28
  http_version:
29
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
29
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
30
30
  - request:
31
31
  method: get
32
- uri: http://localhost:8888/gui/?action=getsettings&output=json&token=hyPzlNlTakxYRbFDwMZVRm5dPpjbgMpwrUb3MCh4piy_H5W8E2JUxhlOr1EAAAAA
32
+ uri: http://localhost:8888/gui/?action=getsettings&output=json&token=UbYWrwdHBZ_dxqyBVpxZNfPr9kgNwPJPWBJ7_nBoWulnWpmwaCroa__nr1EAAAAA
33
33
  body:
34
34
  encoding: US-ASCII
35
35
  string: ''
36
36
  headers:
37
37
  Cookie:
38
- - GUID=5VHKF4UDutvWFb60xkAE
38
+ - GUID=bA1jLdWQ9x6GDY8dj8wP
39
39
  response:
40
40
  status:
41
41
  code: 200
@@ -54,5 +54,5 @@ http_interactions:
54
54
  string: ! '{ "settings": { "devicename": "IceyEC-Virtual1", "dlrate": 0, "listeningport":
55
55
  63754, "portmapping": 1, "ulrate": 0 } }'
56
56
  http_version:
57
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
57
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
58
58
  recorded_with: VCR 2.5.0
@@ -19,23 +19,23 @@ http_interactions:
19
19
  Content-Type:
20
20
  - text/html
21
21
  Set-Cookie:
22
- - GUID=GoXJLgGXVpf8y8SEot2L; path=/
22
+ - GUID=ivezqZKyXPBW99WxeFq4; path=/
23
23
  Cache-Control:
24
24
  - no-cache
25
25
  body:
26
26
  encoding: US-ASCII
27
- string: <html><div id='token' style='display:none;'>-afkqn0LVJ2YA6qsCgzbECZCMaC0c_tZzY7E24t3veFaMQYcSP0ncBlOr1EAAAAA</div></html>
27
+ string: <html><div id='token' style='display:none;'>61L6OZdVrA_8zmuqhXoZOFZg6ZwwGhr62tYA7dupg8AOasWipSvl4P_nr1EAAAAA</div></html>
28
28
  http_version:
29
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
29
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
30
30
  - request:
31
31
  method: get
32
- uri: http://localhost:8888/gui/?action=getversion&output=json&token=-afkqn0LVJ2YA6qsCgzbECZCMaC0c_tZzY7E24t3veFaMQYcSP0ncBlOr1EAAAAA
32
+ uri: http://localhost:8888/gui/?action=getversion&output=json&token=61L6OZdVrA_8zmuqhXoZOFZg6ZwwGhr62tYA7dupg8AOasWipSvl4P_nr1EAAAAA
33
33
  body:
34
34
  encoding: US-ASCII
35
35
  string: ''
36
36
  headers:
37
37
  Cookie:
38
- - GUID=GoXJLgGXVpf8y8SEot2L
38
+ - GUID=ivezqZKyXPBW99WxeFq4
39
39
  response:
40
40
  status:
41
41
  code: 200
@@ -53,5 +53,5 @@ http_interactions:
53
53
  encoding: US-ASCII
54
54
  string: ! '{ "version": 16777350 }'
55
55
  http_version:
56
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
56
+ recorded_at: Thu, 06 Jun 2013 01:38:07 GMT
57
57
  recorded_with: VCR 2.5.0
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=7P1iDM-j30_D4KpN4veMfy1O12KRXyAdIaSU2A1JsesOOPcU7IJwtBlOr1EAAAAA
5
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=wbwVIFfLlCmeQpYzpa5InKk1Dxbc-8tnik1iTb3qnMM6mayySjmz5f_nr1EAAAAA
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  Cookie:
11
- - GUID=QCUnp9BcpaVLftYoQ2ZB
11
+ - GUID=mC6ybzSiwtc7IvhuMNSW
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -17,16 +17,74 @@ http_interactions:
17
17
  Connection:
18
18
  - keep-alive
19
19
  Content-Length:
20
- - '186'
20
+ - '276'
21
21
  Content-Type:
22
22
  - application/json; charset=utf-8
23
23
  Cache-Control:
24
24
  - no-cache
25
25
  body:
26
26
  encoding: US-ASCII
27
- string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ ],
28
- "secret": "6VX7XSMS5R2CSDKLXBENUZIENMVUONRT", "size": "21 B in 1 files" }
29
- ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
27
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
28
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
29
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
30
+ files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
30
31
  http_version:
31
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
32
+ recorded_at: Thu, 06 Jun 2013 01:38:37 GMT
33
+ - request:
34
+ method: get
35
+ uri: http://localhost:8888/gui/token.html?output=text
36
+ body:
37
+ encoding: US-ASCII
38
+ string: ''
39
+ headers: {}
40
+ response:
41
+ status:
42
+ code: 200
43
+ message: OK
44
+ headers:
45
+ Connection:
46
+ - keep-alive
47
+ Content-Length:
48
+ - '121'
49
+ Content-Type:
50
+ - text/html
51
+ Set-Cookie:
52
+ - GUID=TA3LLHxznBGs7j8xatNr; path=/
53
+ Cache-Control:
54
+ - no-cache
55
+ body:
56
+ encoding: US-ASCII
57
+ string: <html><div id='token' style='display:none;'>fsX9szUZdrG3mFVN7sQJfkKRmAQuH-BTbqUuDP47rf4HJLgQDmjcAB3or1EAAAAA</div></html>
58
+ http_version:
59
+ recorded_at: Thu, 06 Jun 2013 01:38:37 GMT
60
+ - request:
61
+ method: get
62
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=fsX9szUZdrG3mFVN7sQJfkKRmAQuH-BTbqUuDP47rf4HJLgQDmjcAB3or1EAAAAA
63
+ body:
64
+ encoding: US-ASCII
65
+ string: ''
66
+ headers:
67
+ Cookie:
68
+ - GUID=TA3LLHxznBGs7j8xatNr
69
+ response:
70
+ status:
71
+ code: 200
72
+ message: OK
73
+ headers:
74
+ Connection:
75
+ - keep-alive
76
+ Content-Length:
77
+ - '276'
78
+ Content-Type:
79
+ - application/json; charset=utf-8
80
+ Cache-Control:
81
+ - no-cache
82
+ body:
83
+ encoding: US-ASCII
84
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
85
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
86
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
87
+ files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
88
+ http_version:
89
+ recorded_at: Thu, 06 Jun 2013 01:38:37 GMT
32
90
  recorded_with: VCR 2.5.0
@@ -2,13 +2,13 @@
2
2
  http_interactions:
3
3
  - request:
4
4
  method: get
5
- uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=7P1iDM-j30_D4KpN4veMfy1O12KRXyAdIaSU2A1JsesOOPcU7IJwtBlOr1EAAAAA
5
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=wbwVIFfLlCmeQpYzpa5InKk1Dxbc-8tnik1iTb3qnMM6mayySjmz5f_nr1EAAAAA
6
6
  body:
7
7
  encoding: US-ASCII
8
8
  string: ''
9
9
  headers:
10
10
  Cookie:
11
- - GUID=QCUnp9BcpaVLftYoQ2ZB
11
+ - GUID=mC6ybzSiwtc7IvhuMNSW
12
12
  response:
13
13
  status:
14
14
  code: 200
@@ -17,28 +17,145 @@ http_interactions:
17
17
  Connection:
18
18
  - keep-alive
19
19
  Content-Length:
20
- - '311'
20
+ - '401'
21
21
  Content-Type:
22
22
  - application/json; charset=utf-8
23
23
  Cache-Control:
24
24
  - no-cache
25
25
  body:
26
26
  encoding: US-ASCII
27
- string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ ],
28
- "secret": "6VX7XSMS5R2CSDKLXBENUZIENMVUONRT", "size": "21 B in 1 files" },
29
- { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "EV63ZJO7DX25LMMRDDQWDDQ3XZ4ETJV5",
27
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
28
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
29
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
30
+ files" }, { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "3QSICS26CUR326TWBTYI27KW7GCCNHVO",
30
31
  "size": "0 B in 0 files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
31
32
  http_version:
32
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
33
+ recorded_at: Thu, 06 Jun 2013 01:38:37 GMT
33
34
  - request:
34
35
  method: get
35
- uri: http://localhost:8888/gui/?action=removefolder&name=/home/chris/bt_test&output=json&secret=EV63ZJO7DX25LMMRDDQWDDQ3XZ4ETJV5&token=7P1iDM-j30_D4KpN4veMfy1O12KRXyAdIaSU2A1JsesOOPcU7IJwtBlOr1EAAAAA
36
+ uri: http://localhost:8888/gui/token.html?output=text
37
+ body:
38
+ encoding: US-ASCII
39
+ string: ''
40
+ headers: {}
41
+ response:
42
+ status:
43
+ code: 200
44
+ message: OK
45
+ headers:
46
+ Connection:
47
+ - keep-alive
48
+ Content-Length:
49
+ - '121'
50
+ Content-Type:
51
+ - text/html
52
+ Set-Cookie:
53
+ - GUID=46WXCLwGGfrrentU1yWR; path=/
54
+ Cache-Control:
55
+ - no-cache
56
+ body:
57
+ encoding: US-ASCII
58
+ string: <html><div id='token' style='display:none;'>JoP0Vy6RU96zkB8nmTsWM0LWPKg0KiA2yBCeb2hvk42II6sXhyk-gB3or1EAAAAA</div></html>
59
+ http_version:
60
+ recorded_at: Thu, 06 Jun 2013 01:38:37 GMT
61
+ - request:
62
+ method: get
63
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=JoP0Vy6RU96zkB8nmTsWM0LWPKg0KiA2yBCeb2hvk42II6sXhyk-gB3or1EAAAAA
64
+ body:
65
+ encoding: US-ASCII
66
+ string: ''
67
+ headers:
68
+ Cookie:
69
+ - GUID=46WXCLwGGfrrentU1yWR
70
+ response:
71
+ status:
72
+ code: 200
73
+ message: OK
74
+ headers:
75
+ Connection:
76
+ - keep-alive
77
+ Content-Length:
78
+ - '401'
79
+ Content-Type:
80
+ - application/json; charset=utf-8
81
+ Cache-Control:
82
+ - no-cache
83
+ body:
84
+ encoding: US-ASCII
85
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
86
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
87
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
88
+ files" }, { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "3QSICS26CUR326TWBTYI27KW7GCCNHVO",
89
+ "size": "0 B in 0 files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
90
+ http_version:
91
+ recorded_at: Thu, 06 Jun 2013 01:38:37 GMT
92
+ - request:
93
+ method: get
94
+ uri: http://localhost:8888/gui/token.html?output=text
95
+ body:
96
+ encoding: US-ASCII
97
+ string: ''
98
+ headers: {}
99
+ response:
100
+ status:
101
+ code: 200
102
+ message: OK
103
+ headers:
104
+ Connection:
105
+ - keep-alive
106
+ Content-Length:
107
+ - '121'
108
+ Content-Type:
109
+ - text/html
110
+ Set-Cookie:
111
+ - GUID=T6Y5magarwzBPyjIp1zd; path=/
112
+ Cache-Control:
113
+ - no-cache
114
+ body:
115
+ encoding: US-ASCII
116
+ string: <html><div id='token' style='display:none;'>JAVukyunwkQTYbiGXeOFxLdzxI8bWJp4bfd4GeOCJy6Iqw9RBtSLtR3or1EAAAAA</div></html>
117
+ http_version:
118
+ recorded_at: Thu, 06 Jun 2013 01:38:37 GMT
119
+ - request:
120
+ method: get
121
+ uri: http://localhost:8888/gui/?action=getsyncfolders&output=json&token=JAVukyunwkQTYbiGXeOFxLdzxI8bWJp4bfd4GeOCJy6Iqw9RBtSLtR3or1EAAAAA
122
+ body:
123
+ encoding: US-ASCII
124
+ string: ''
125
+ headers:
126
+ Cookie:
127
+ - GUID=T6Y5magarwzBPyjIp1zd
128
+ response:
129
+ status:
130
+ code: 200
131
+ message: OK
132
+ headers:
133
+ Connection:
134
+ - keep-alive
135
+ Content-Length:
136
+ - '401'
137
+ Content-Type:
138
+ - application/json; charset=utf-8
139
+ Cache-Control:
140
+ - no-cache
141
+ body:
142
+ encoding: US-ASCII
143
+ string: ! '{ "folders": [ { "name": "\/home\/chris\/Documents", "peers": [ {
144
+ "direct": 1, "name": "IceyEC Portable", "status": "Synced on 06\/05\/13 20:52:35"
145
+ } ], "secret": "6PX74LIR2RA2FF2W3DC25MG2CF6SQDSJ", "size": "1000.0 MB in 2
146
+ files" }, { "name": "\/home\/chris\/bt_test", "peers": [ ], "secret": "3QSICS26CUR326TWBTYI27KW7GCCNHVO",
147
+ "size": "0 B in 0 files" } ], "speed": "0.0 kB\/s up, 0.0 kB\/s down" }'
148
+ http_version:
149
+ recorded_at: Thu, 06 Jun 2013 01:38:37 GMT
150
+ - request:
151
+ method: get
152
+ uri: http://localhost:8888/gui/?action=removefolder&name=/home/chris/bt_test&output=json&secret=3QSICS26CUR326TWBTYI27KW7GCCNHVO&token=wbwVIFfLlCmeQpYzpa5InKk1Dxbc-8tnik1iTb3qnMM6mayySjmz5f_nr1EAAAAA
36
153
  body:
37
154
  encoding: US-ASCII
38
155
  string: ''
39
156
  headers:
40
157
  Cookie:
41
- - GUID=QCUnp9BcpaVLftYoQ2ZB
158
+ - GUID=mC6ybzSiwtc7IvhuMNSW
42
159
  response:
43
160
  status:
44
161
  code: 200
@@ -56,5 +173,5 @@ http_interactions:
56
173
  encoding: US-ASCII
57
174
  string: ! '{ }'
58
175
  http_version:
59
- recorded_at: Wed, 05 Jun 2013 14:41:29 GMT
176
+ recorded_at: Thu, 06 Jun 2013 01:38:37 GMT
60
177
  recorded_with: VCR 2.5.0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: BtSync
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.2
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris MacNaughton
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-06-05 00:00:00.000000000 Z
11
+ date: 2013-06-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ! '>='
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: active_support
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ! '>='
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  description: Class to interact with BTSync's web interface using their unofficial
98
112
  API
99
113
  email: