BtSync 0.3.2 → 0.4.0

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,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: