pusher-chatkit-server 1.9.0 → 1.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/chatkit/client.rb +35 -28
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8f1360ff9feccb4f766894cdab7fdd2e5b70df22
4
- data.tar.gz: 7d55dd3ce6c62b4e9f16afed095c0a1cc0344342
3
+ metadata.gz: fc311446ce1ca48d7be2f562a6159e4f5de7ed54
4
+ data.tar.gz: ff32422a40b5f39959c0c08ec04a4b4a5edee7cc
5
5
  SHA512:
6
- metadata.gz: fbd3b994d6dde617c0901f048fe37fcca0af44239882c0f727d7482bf1e6e8e96c4b7b58d33b256c4a2c03236ca59da39ecc91e09ca9c6046dbaffc898e9be72
7
- data.tar.gz: 362a87278223cfbb96a88027e81f97c13c72b74ff6b5b152290566672f441b419c3dabaf04b34dcd976f6477fc0519b3f5ab1b5a7c54ea543015ea9053a41734
6
+ metadata.gz: b5d653ce1d9153d8f369388dc42be3694fbb91b2034b9d231fe9daa41398ad0642e63bfbdd5b614ce73b75f5d16bc4b4d516949fafc830d82e69e8858f9c98dc
7
+ data.tar.gz: 86920abf2d1a6e123d9cc36c515d15d0b3b7a8ccf2ee97d51d34e64ba7e4d4c92b28b215cfa09f901b5de55bfb740646f1466e927fc3c699dbaed57b61e36121
@@ -88,6 +88,13 @@ module Chatkit
88
88
  generate_access_token({ su: true }.merge(options))
89
89
  end
90
90
 
91
+ # This helper should be used to encode parameters that appear in path segments.
92
+ # CGI::escape should NOT be used as it treats the string as if it appears in a query string.
93
+ # E.G. We want "user name" to be encoded as "user%20name" rather than "user+name"
94
+ def url_encode_path_segment(s)
95
+ ERB::Util.url_encode(s)
96
+ end
97
+
91
98
  # User API
92
99
 
93
100
  def create_user(options)
@@ -145,7 +152,7 @@ module Chatkit
145
152
 
146
153
  api_request({
147
154
  method: "PUT",
148
- path: "/users/#{CGI::escape options[:id]}",
155
+ path: "/users/#{url_encode_path_segment options[:id]}",
149
156
  body: payload,
150
157
  jwt: generate_su_token({ user_id: options[:id] })[:token]
151
158
  })
@@ -158,7 +165,7 @@ module Chatkit
158
165
 
159
166
  scheduler_request({
160
167
  method: "PUT",
161
- path: "/users/#{CGI::escape options[:id]}",
168
+ path: "/users/#{url_encode_path_segment options[:id]}",
162
169
  jwt: generate_su_token[:token]
163
170
  })
164
171
  end
@@ -170,7 +177,7 @@ module Chatkit
170
177
 
171
178
  scheduler_request({
172
179
  method: "GET",
173
- path: "/status/#{CGI::escape options[:id]}",
180
+ path: "/status/#{url_encode_path_segment options[:id]}",
174
181
  jwt: generate_su_token[:token]
175
182
  })
176
183
  end
@@ -182,7 +189,7 @@ module Chatkit
182
189
 
183
190
  api_request({
184
191
  method: "GET",
185
- path: "/users/#{CGI::escape options[:id]}",
192
+ path: "/users/#{url_encode_path_segment options[:id]}",
186
193
  jwt: generate_su_token[:token]
187
194
  })
188
195
  end
@@ -267,7 +274,7 @@ module Chatkit
267
274
 
268
275
  api_request({
269
276
  method: "PUT",
270
- path: "/rooms/#{CGI::escape options[:id]}",
277
+ path: "/rooms/#{url_encode_path_segment options[:id]}",
271
278
  body: payload,
272
279
  jwt: generate_su_token[:token]
273
280
  })
@@ -280,7 +287,7 @@ module Chatkit
280
287
 
281
288
  scheduler_request({
282
289
  method: "PUT",
283
- path: "/rooms/#{CGI::escape options[:id]}",
290
+ path: "/rooms/#{url_encode_path_segment options[:id]}",
284
291
  jwt: generate_su_token[:token]
285
292
  })
286
293
  end
@@ -292,7 +299,7 @@ module Chatkit
292
299
 
293
300
  api_request({
294
301
  method: "GET",
295
- path: "/rooms/#{CGI::escape options[:id]}",
302
+ path: "/rooms/#{url_encode_path_segment options[:id]}",
296
303
  jwt: generate_su_token[:token]
297
304
  })
298
305
  end
@@ -337,7 +344,7 @@ module Chatkit
337
344
 
338
345
  api_request({
339
346
  method: "PUT",
340
- path: "/rooms/#{CGI::escape options[:room_id]}/users/add",
347
+ path: "/rooms/#{url_encode_path_segment options[:room_id]}/users/add",
341
348
  body: { user_ids: options[:user_ids] },
342
349
  jwt: generate_su_token[:token]
343
350
  })
@@ -354,7 +361,7 @@ module Chatkit
354
361
 
355
362
  api_request({
356
363
  method: "PUT",
357
- path: "/rooms/#{CGI::escape options[:room_id]}/users/remove",
364
+ path: "/rooms/#{url_encode_path_segment options[:room_id]}/users/remove",
358
365
  body: { user_ids: options[:user_ids] },
359
366
  jwt: generate_su_token[:token]
360
367
  })
@@ -370,7 +377,7 @@ module Chatkit
370
377
 
371
378
  api_request({
372
379
  method: "GET",
373
- path: "/rooms/#{CGI::escape options[:room_id]}/messages/#{options[:message_id]}",
380
+ path: "/rooms/#{url_encode_path_segment options[:room_id]}/messages/#{options[:message_id]}",
374
381
  jwt: generate_su_token[:token]
375
382
  })
376
383
  end
@@ -392,7 +399,7 @@ module Chatkit
392
399
 
393
400
  api_request({
394
401
  method: "GET",
395
- path: "/rooms/#{CGI::escape options[:room_id]}/messages",
402
+ path: "/rooms/#{url_encode_path_segment options[:room_id]}/messages",
396
403
  query: query_params,
397
404
  jwt: generate_su_token[:token]
398
405
  })
@@ -410,7 +417,7 @@ module Chatkit
410
417
 
411
418
  api_v2_request({
412
419
  method: "GET",
413
- path: "/rooms/#{CGI::escape options[:room_id]}/messages",
420
+ path: "/rooms/#{url_encode_path_segment options[:room_id]}/messages",
414
421
  query: query_params,
415
422
  jwt: generate_su_token[:token]
416
423
  })
@@ -467,7 +474,7 @@ module Chatkit
467
474
 
468
475
  api_request({
469
476
  method: "POST",
470
- path: "/rooms/#{CGI::escape options[:room_id]}/messages",
477
+ path: "/rooms/#{url_encode_path_segment options[:room_id]}/messages",
471
478
  body: {parts: request_parts},
472
479
  jwt: token
473
480
  })
@@ -509,7 +516,7 @@ module Chatkit
509
516
 
510
517
  api_v2_request({
511
518
  method: "POST",
512
- path: "/rooms/#{CGI::escape options[:room_id]}/messages",
519
+ path: "/rooms/#{url_encode_path_segment options[:room_id]}/messages",
513
520
  body: payload,
514
521
  jwt: generate_su_token({ user_id: options[:sender_id] })[:token]
515
522
  })
@@ -591,7 +598,7 @@ module Chatkit
591
598
 
592
599
  api_request({
593
600
  method: "PUT",
594
- path: "/rooms/#{CGI::escape room_id}/messages/#{message_id}",
601
+ path: "/rooms/#{url_encode_path_segment room_id}/messages/#{message_id}",
595
602
  body: {parts: request_parts},
596
603
  jwt: token
597
604
  })
@@ -645,7 +652,7 @@ module Chatkit
645
652
 
646
653
  api_v2_request({
647
654
  method: "PUT",
648
- path: "/rooms/#{CGI::escape room_id}/messages/#{message_id}",
655
+ path: "/rooms/#{url_encode_path_segment room_id}/messages/#{message_id}",
649
656
  body: payload,
650
657
  jwt: generate_su_token({ user_id: options[:sender_id] })[:token]
651
658
  })
@@ -700,7 +707,7 @@ module Chatkit
700
707
 
701
708
  authorizer_request({
702
709
  method: "GET",
703
- path: "/users/#{CGI::escape options[:user_id]}/roles",
710
+ path: "/users/#{url_encode_path_segment options[:user_id]}/roles",
704
711
  jwt: generate_su_token[:token]
705
712
  })
706
713
  end
@@ -750,7 +757,7 @@ module Chatkit
750
757
 
751
758
  cursors_request({
752
759
  method: "GET",
753
- path: "/cursors/0/rooms/#{CGI::escape options[:room_id]}/users/#{CGI::escape options[:user_id]}",
760
+ path: "/cursors/0/rooms/#{url_encode_path_segment options[:room_id]}/users/#{url_encode_path_segment options[:user_id]}",
754
761
  jwt: generate_su_token[:token]
755
762
  })
756
763
  end
@@ -770,7 +777,7 @@ module Chatkit
770
777
 
771
778
  cursors_request({
772
779
  method: "PUT",
773
- path: "/cursors/0/rooms/#{CGI::escape options[:room_id]}/users/#{CGI::escape options[:user_id]}",
780
+ path: "/cursors/0/rooms/#{url_encode_path_segment options[:room_id]}/users/#{url_encode_path_segment options[:user_id]}",
774
781
  body: { position: options[:position] },
775
782
  jwt: generate_su_token[:token]
776
783
  })
@@ -783,7 +790,7 @@ module Chatkit
783
790
 
784
791
  cursors_request({
785
792
  method: "GET",
786
- path: "/cursors/0/users/#{CGI::escape options[:user_id]}",
793
+ path: "/cursors/0/users/#{url_encode_path_segment options[:user_id]}",
787
794
  jwt: generate_su_token[:token]
788
795
  })
789
796
  end
@@ -795,7 +802,7 @@ module Chatkit
795
802
 
796
803
  cursors_request({
797
804
  method: "GET",
798
- path: "/cursors/0/rooms/#{CGI::escape options[:room_id]}",
805
+ path: "/cursors/0/rooms/#{url_encode_path_segment options[:room_id]}",
799
806
  jwt: generate_su_token[:token]
800
807
  })
801
808
  end
@@ -852,7 +859,7 @@ module Chatkit
852
859
 
853
860
  request_options = {
854
861
  method: "GET",
855
- path: "/users/#{CGI::escape options[:id]}/rooms",
862
+ path: "/users/#{url_encode_path_segment options[:id]}/rooms",
856
863
  jwt: generate_su_token[:token]
857
864
  }
858
865
 
@@ -891,7 +898,7 @@ module Chatkit
891
898
 
892
899
  authorizer_request({
893
900
  method: "DELETE",
894
- path: "/roles/#{CGI::escape options[:name]}/scope/#{options[:scope]}",
901
+ path: "/roles/#{url_encode_path_segment options[:name]}/scope/#{options[:scope]}",
895
902
  jwt: generate_su_token[:token]
896
903
  })
897
904
  end
@@ -913,7 +920,7 @@ module Chatkit
913
920
 
914
921
  authorizer_request({
915
922
  method: "PUT",
916
- path: "/users/#{CGI::escape options[:user_id]}/roles",
923
+ path: "/users/#{url_encode_path_segment options[:user_id]}/roles",
917
924
  body: body,
918
925
  jwt: generate_su_token[:token]
919
926
  })
@@ -926,7 +933,7 @@ module Chatkit
926
933
 
927
934
  request_options = {
928
935
  method: "DELETE",
929
- path: "/users/#{CGI::escape options[:user_id]}/roles",
936
+ path: "/users/#{url_encode_path_segment options[:user_id]}/roles",
930
937
  jwt: generate_su_token[:token]
931
938
  }
932
939
 
@@ -944,7 +951,7 @@ module Chatkit
944
951
 
945
952
  authorizer_request({
946
953
  method: "GET",
947
- path: "/roles/#{CGI::escape options[:name]}/scope/#{options[:scope]}/permissions",
954
+ path: "/roles/#{url_encode_path_segment options[:name]}/scope/#{options[:scope]}/permissions",
948
955
  jwt: generate_su_token[:token]
949
956
  })
950
957
  end
@@ -967,7 +974,7 @@ module Chatkit
967
974
 
968
975
  authorizer_request({
969
976
  method: "PUT",
970
- path: "/roles/#{CGI::escape options[:name]}/scope/#{options[:scope]}/permissions",
977
+ path: "/roles/#{url_encode_path_segment options[:name]}/scope/#{options[:scope]}/permissions",
971
978
  body: body,
972
979
  jwt: generate_su_token[:token]
973
980
  })
@@ -992,7 +999,7 @@ module Chatkit
992
999
 
993
1000
  attachment_response = api_request({
994
1001
  method: "POST",
995
- path: "/rooms/#{CGI::escape room_id}/attachments",
1002
+ path: "/rooms/#{url_encode_path_segment room_id}/attachments",
996
1003
  body: attachment_req,
997
1004
  jwt: token
998
1005
  })
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pusher-chatkit-server
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.0
4
+ version: 1.9.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Pusher
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-12-11 00:00:00.000000000 Z
11
+ date: 2020-02-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pusher-platform