3scale-api 0.6.0 → 1.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 +4 -4
- data/lib/3scale/api.rb +1 -0
- data/lib/3scale/api/client.rb +264 -16
- data/lib/3scale/api/errors.rb +12 -0
- data/lib/3scale/api/http_client.rb +24 -8
- data/lib/3scale/api/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6acc1c28076fb874303586e42676f43af59d189a848e6dbb9beea439397c099d
|
4
|
+
data.tar.gz: 2901c2493c186e4649a54193f86da93e1a09e928fdfe05dde717148b37aabcfe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ad1b19c06a705bc370c2fa0362ab894f89e666f1fce9d24d42bccf7538640962fc8be201c1c65c1b70bf61c7c2d4f25550e93c22cd9f1bf3256f8989200cacb7
|
7
|
+
data.tar.gz: 100e91d761590d54b6ff9c96884586e96cc027f9e497f462ff9c00d244bba2febe78162d3f2dce0f1341efb777e379abc1dbc8e2d170017daa53bfbfd81a80ac
|
data/lib/3scale/api.rb
CHANGED
data/lib/3scale/api/client.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
module ThreeScale
|
2
2
|
module API
|
3
|
+
MAX_BACKENDS_PER_PAGE = 500
|
4
|
+
MAX_SERVICES_PER_PAGE = 500
|
5
|
+
|
3
6
|
class Client
|
4
7
|
attr_reader :http_client
|
5
8
|
|
@@ -19,8 +22,8 @@ module ThreeScale
|
|
19
22
|
|
20
23
|
# @api public
|
21
24
|
# @return [Array<Hash>]
|
22
|
-
def list_services
|
23
|
-
response = http_client.get('/admin/api/services')
|
25
|
+
def list_services(params = nil)
|
26
|
+
response = http_client.get('/admin/api/services', params: params)
|
24
27
|
extract(collection: 'services', entity: 'service', from: response)
|
25
28
|
end
|
26
29
|
|
@@ -173,7 +176,7 @@ module ThreeScale
|
|
173
176
|
# @return [Hash]
|
174
177
|
# @param [Fixnum] service_id Service ID
|
175
178
|
# @param [String] environment. Must be 'sandbox' or 'production'
|
176
|
-
# @param [Fixnum]
|
179
|
+
# @param [Fixnum] version Proxy configuration version
|
177
180
|
def show_proxy_config(service_id, environment, version)
|
178
181
|
response = http_client.get("/admin/api/services/#{service_id}/proxy/configs/#{environment}/#{version}")
|
179
182
|
extract(entity: 'proxy_config', from: response)
|
@@ -182,9 +185,9 @@ module ThreeScale
|
|
182
185
|
# @api public
|
183
186
|
# @return [Hash]
|
184
187
|
# @param [Fixnum] service_id Service ID
|
185
|
-
# @param [String] environment
|
186
|
-
# @param [Fixnum]
|
187
|
-
# @param [Fixnum]
|
188
|
+
# @param [String] environment Must be 'sandbox' or 'production'
|
189
|
+
# @param [Fixnum] version Version to promote
|
190
|
+
# @param [Fixnum] to To which the specified proxy configuration will be promoted to
|
188
191
|
def promote_proxy_config(service_id, environment, version, to)
|
189
192
|
response = http_client.post("/admin/api/services/#{service_id}/proxy/configs/#{environment}/#{version}/promote",
|
190
193
|
body: { to: to })
|
@@ -200,6 +203,15 @@ module ThreeScale
|
|
200
203
|
extract(entity: 'proxy', from: response)
|
201
204
|
end
|
202
205
|
|
206
|
+
# @api public
|
207
|
+
# @return [Hash]
|
208
|
+
# @param [Fixnum] service_id Service ID
|
209
|
+
def proxy_deploy(service_id)
|
210
|
+
response = http_client.post("/admin/api/services/#{service_id}/proxy/deploy",
|
211
|
+
body: nil)
|
212
|
+
extract(entity: 'proxy', from: response)
|
213
|
+
end
|
214
|
+
|
203
215
|
# @api public
|
204
216
|
# @return [Array<Hash>]
|
205
217
|
# @param [Fixnum] service_id Service ID
|
@@ -307,7 +319,7 @@ module ThreeScale
|
|
307
319
|
|
308
320
|
# @api public
|
309
321
|
# @param [Fixnum] service_id Service ID
|
310
|
-
# @param [Fixnum]
|
322
|
+
# @param [Fixnum] parent_id Parent metric ID
|
311
323
|
# @param [Fixnum] id Method ID
|
312
324
|
# @return [Hash]
|
313
325
|
def show_method(service_id, parent_id, id)
|
@@ -352,7 +364,7 @@ module ThreeScale
|
|
352
364
|
# @return [Bool]
|
353
365
|
# @param [Fixnum] service_id Service ID
|
354
366
|
# @param [Fixnum] parent_id Parent metric ID
|
355
|
-
# @param [Fixnum]
|
367
|
+
# @param [Fixnum] id Metric ID
|
356
368
|
def delete_method(service_id, parent_id, id)
|
357
369
|
http_client.delete("/admin/api/services/#{service_id}/metrics/#{parent_id}/methods/#{id}")
|
358
370
|
true
|
@@ -388,7 +400,7 @@ module ThreeScale
|
|
388
400
|
end
|
389
401
|
|
390
402
|
# @api public
|
391
|
-
# @param [Fixnum]
|
403
|
+
# @param [Fixnum] service_id Service ID
|
392
404
|
# @param [Fixnum] id Application Plan ID
|
393
405
|
# @return [Hash]
|
394
406
|
def show_application_plan(service_id, id)
|
@@ -466,7 +478,7 @@ module ThreeScale
|
|
466
478
|
end
|
467
479
|
|
468
480
|
# @api public
|
469
|
-
# @param [Hash]
|
481
|
+
# @param [Hash] criteria Search parameters
|
470
482
|
# @return [Hash]
|
471
483
|
def find_account(criteria)
|
472
484
|
response = http_client.get('/admin/api/accounts/find', params: criteria)
|
@@ -522,6 +534,16 @@ module ThreeScale
|
|
522
534
|
extract(entity: 'pricing_rule', from: response)
|
523
535
|
end
|
524
536
|
|
537
|
+
# @api public
|
538
|
+
# @param [Fixnum] application_plan_id Application Plan ID
|
539
|
+
# @param [Fixnum] metric_id Metric ID
|
540
|
+
# @param [Fixnum] id Rule ID
|
541
|
+
# @return [Bool]
|
542
|
+
def delete_application_plan_pricingrule(application_plan_id, metric_id, id)
|
543
|
+
http_client.delete("/admin/api/application_plans/#{application_plan_id}/metrics/#{metric_id}/pricing_rules/#{id}")
|
544
|
+
true
|
545
|
+
end
|
546
|
+
|
525
547
|
# @api public
|
526
548
|
# @return [Array<Hash>]
|
527
549
|
def list_activedocs
|
@@ -561,7 +583,7 @@ module ThreeScale
|
|
561
583
|
end
|
562
584
|
|
563
585
|
# @api public
|
564
|
-
# @param [Fixnum]
|
586
|
+
# @param [Fixnum] id Account ID
|
565
587
|
# @return [Bool]
|
566
588
|
def delete_account(id)
|
567
589
|
http_client.delete("/admin/api/accounts/#{id}")
|
@@ -570,7 +592,7 @@ module ThreeScale
|
|
570
592
|
|
571
593
|
# @api public
|
572
594
|
# @param [Fixnum] account_id Account ID
|
573
|
-
# @param [Fixnum]
|
595
|
+
# @param [Fixnum] id Application ID
|
574
596
|
# @return [Bool]
|
575
597
|
def delete_application(account_id, id)
|
576
598
|
http_client.delete("/admin/api/accounts/#{account_id}/applications/#{id}")
|
@@ -578,7 +600,7 @@ module ThreeScale
|
|
578
600
|
end
|
579
601
|
|
580
602
|
# @api public
|
581
|
-
# @param [Fixnum]
|
603
|
+
# @param [Fixnum] service_id Service ID
|
582
604
|
# @return [Array<Hash>]
|
583
605
|
def show_oidc(service_id)
|
584
606
|
response = http_client.get("/admin/api/services/#{service_id}/proxy/oidc_configuration")
|
@@ -586,7 +608,7 @@ module ThreeScale
|
|
586
608
|
end
|
587
609
|
|
588
610
|
# @api public
|
589
|
-
# @param [Fixnum]
|
611
|
+
# @param [Fixnum] service_id Service ID
|
590
612
|
# @return [Hash]
|
591
613
|
def update_oidc(service_id, attributes)
|
592
614
|
response = http_client.patch("/admin/api/services/#{service_id}/proxy/oidc_configuration",
|
@@ -717,7 +739,7 @@ module ThreeScale
|
|
717
739
|
extract(collection: 'applications', entity: 'application', from: response)
|
718
740
|
end
|
719
741
|
|
720
|
-
# @api public
|
742
|
+
# @api public
|
721
743
|
# @return [Array<Hash]
|
722
744
|
def list_application_plans
|
723
745
|
response = http_client.get("/admin/api/application_plans")
|
@@ -760,7 +782,7 @@ module ThreeScale
|
|
760
782
|
response = http_client.put("/admin/api/accounts/#{account_id}/applications/#{application_id}/suspend")
|
761
783
|
extract(entity: 'application', from: response)
|
762
784
|
end
|
763
|
-
|
785
|
+
|
764
786
|
# @api public
|
765
787
|
# @param [String] account_id Account ID
|
766
788
|
# @param [String] application_id Application ID
|
@@ -816,6 +838,232 @@ module ThreeScale
|
|
816
838
|
extract(entity: 'account', from: response)
|
817
839
|
end
|
818
840
|
|
841
|
+
# @api public
|
842
|
+
# @return [List]
|
843
|
+
def list_backends(params = nil)
|
844
|
+
response = http_client.get('/admin/api/backend_apis', params: params)
|
845
|
+
extract(collection: 'backend_apis', entity: 'backend_api', from: response)
|
846
|
+
end
|
847
|
+
|
848
|
+
# @api public
|
849
|
+
# @param [Hash] attributes Backend attributes
|
850
|
+
# @return [Hash]
|
851
|
+
def create_backend(attributes)
|
852
|
+
response = http_client.post('/admin/api/backend_apis', body: attributes)
|
853
|
+
extract(entity: 'backend_api', from: response)
|
854
|
+
end
|
855
|
+
|
856
|
+
# @api public
|
857
|
+
# @param [Fixnum] id Backend ID
|
858
|
+
def delete_backend(id)
|
859
|
+
http_client.delete("/admin/api/backend_apis/#{id}")
|
860
|
+
true
|
861
|
+
end
|
862
|
+
|
863
|
+
# @api public
|
864
|
+
# @param [Fixnum] id Backend ID
|
865
|
+
# @return [Hash]
|
866
|
+
def backend(id)
|
867
|
+
response = http_client.get("/admin/api/backend_apis/#{id}")
|
868
|
+
extract(entity: 'backend_api', from: response)
|
869
|
+
end
|
870
|
+
|
871
|
+
# @api public
|
872
|
+
# @param [Fixnum] id Backend ID
|
873
|
+
# @param [Hash] attributes Backend attributes
|
874
|
+
# @return [Hash]
|
875
|
+
def update_backend(id, attributes)
|
876
|
+
response = http_client.put("/admin/api/backend_apis/#{id}", body: attributes)
|
877
|
+
extract(entity: 'backend_api', from: response)
|
878
|
+
end
|
879
|
+
|
880
|
+
# @api public
|
881
|
+
# @param [Fixnum] id Backend ID
|
882
|
+
# @return [List]
|
883
|
+
def list_backend_metrics(id)
|
884
|
+
response = http_client.get("/admin/api/backend_apis/#{id}/metrics")
|
885
|
+
extract(collection: 'metrics', entity: 'metric', from: response)
|
886
|
+
end
|
887
|
+
|
888
|
+
# @api public
|
889
|
+
# @param [Fixnum] id Backend ID
|
890
|
+
# @param [Hash] attributes Metric attributes
|
891
|
+
# @return [Hash]
|
892
|
+
def create_backend_metric(id, attrs)
|
893
|
+
response = http_client.post("/admin/api/backend_apis/#{id}/metrics", body: attrs)
|
894
|
+
extract(entity: 'metric', from: response)
|
895
|
+
end
|
896
|
+
|
897
|
+
# @api public
|
898
|
+
# @param [Fixnum] backend_id Backend ID
|
899
|
+
# @param [Fixnum] metric_id Backend Metric ID
|
900
|
+
def delete_backend_metric(backend_id, metric_id)
|
901
|
+
http_client.delete("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}")
|
902
|
+
true
|
903
|
+
end
|
904
|
+
|
905
|
+
# @api public
|
906
|
+
# @param [Fixnum] backend_id Backend ID
|
907
|
+
# @param [Fixnum] metric_id Backend Metric ID
|
908
|
+
# @return [Hash]
|
909
|
+
def backend_metric(backend_id, metric_id)
|
910
|
+
response = http_client.get("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}")
|
911
|
+
extract(entity: 'metric', from: response)
|
912
|
+
end
|
913
|
+
|
914
|
+
# @api public
|
915
|
+
# @param [Fixnum] backend_id Backend ID
|
916
|
+
# @param [Fixnum] metric_id Backend Metric ID
|
917
|
+
# @param [Hash] attributes Backend attributes
|
918
|
+
# @return [Hash]
|
919
|
+
def update_backend_metric(backend_id, metric_id, attributes)
|
920
|
+
response = http_client.put("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}", body: attributes)
|
921
|
+
extract(entity: 'metric', from: response)
|
922
|
+
end
|
923
|
+
|
924
|
+
# @api public
|
925
|
+
# @param [Fixnum] backend_id Backend ID
|
926
|
+
# @param [Fixnum] metric_id Backend Metric ID
|
927
|
+
# @return [List]
|
928
|
+
def list_backend_methods(backend_id, metric_id)
|
929
|
+
response = http_client.get("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods")
|
930
|
+
extract(collection: 'methods', entity: 'method', from: response)
|
931
|
+
end
|
932
|
+
|
933
|
+
# @api public
|
934
|
+
# @param [Fixnum] backend_id Backend ID
|
935
|
+
# @param [Fixnum] metric_id Backend Metric ID
|
936
|
+
# @param [Hash] attributes Metric attributes
|
937
|
+
# @return [Hash]
|
938
|
+
def create_backend_method(backend_id, metric_id, attrs)
|
939
|
+
response = http_client.post("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods",
|
940
|
+
body: attrs)
|
941
|
+
extract(entity: 'method', from: response)
|
942
|
+
end
|
943
|
+
|
944
|
+
# @api public
|
945
|
+
# @param [Fixnum] backend_id Backend ID
|
946
|
+
# @param [Fixnum] metric_id Backend Metric ID
|
947
|
+
# @param [Fixnum] method_id Backend Method ID
|
948
|
+
def delete_backend_method(backend_id, metric_id, method_id)
|
949
|
+
http_client.delete("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods/#{method_id}")
|
950
|
+
true
|
951
|
+
end
|
952
|
+
|
953
|
+
# @api public
|
954
|
+
# @param [Fixnum] backend_id Backend ID
|
955
|
+
# @param [Fixnum] metric_id Backend Metric ID
|
956
|
+
# @param [Fixnum] method_id Backend Method ID
|
957
|
+
# @return [Hash]
|
958
|
+
def backend_method(backend_id, metric_id, method_id)
|
959
|
+
response = http_client.get("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods/#{method_id}")
|
960
|
+
extract(entity: 'method', from: response)
|
961
|
+
end
|
962
|
+
|
963
|
+
# @api public
|
964
|
+
# @param [Fixnum] backend_id Backend ID
|
965
|
+
# @param [Fixnum] metric_id Backend Metric ID
|
966
|
+
# @param [Fixnum] method_id Backend Method ID
|
967
|
+
# @param [Hash] attributes Backend attributes
|
968
|
+
# @return [Hash]
|
969
|
+
def update_backend_method(backend_id, metric_id, method_id, attributes)
|
970
|
+
response = http_client.put("/admin/api/backend_apis/#{backend_id}/metrics/#{metric_id}/methods/#{method_id}",
|
971
|
+
body: attributes)
|
972
|
+
extract(entity: 'method', from: response)
|
973
|
+
end
|
974
|
+
|
975
|
+
# @api public
|
976
|
+
# @param [Fixnum] backend_id Backend ID
|
977
|
+
# @return [List]
|
978
|
+
def list_backend_mapping_rules(backend_id)
|
979
|
+
response = http_client.get("/admin/api/backend_apis/#{backend_id}/mapping_rules")
|
980
|
+
extract(collection: 'mapping_rules', entity: 'mapping_rule', from: response)
|
981
|
+
end
|
982
|
+
|
983
|
+
# @api public
|
984
|
+
# @param [Fixnum] backend_id Backend ID
|
985
|
+
# @param [Hash] attrs Metric attributes
|
986
|
+
# @return [Hash]
|
987
|
+
def create_backend_mapping_rule(backend_id, attrs)
|
988
|
+
response = http_client.post("/admin/api/backend_apis/#{backend_id}/mapping_rules",
|
989
|
+
body: attrs)
|
990
|
+
extract(entity: 'mapping_rule', from: response)
|
991
|
+
end
|
992
|
+
|
993
|
+
# @api public
|
994
|
+
# @param [Fixnum] backend_id Backend ID
|
995
|
+
# @param [Fixnum] mapping_rule_id MappingRule ID
|
996
|
+
def delete_backend_mapping_rule(backend_id, mapping_rule_id)
|
997
|
+
http_client.delete("/admin/api/backend_apis/#{backend_id}/mapping_rules/#{mapping_rule_id}")
|
998
|
+
true
|
999
|
+
end
|
1000
|
+
|
1001
|
+
# @api public
|
1002
|
+
# @param [Fixnum] backend_id Backend ID
|
1003
|
+
# @param [Fixnum] mapping_rule_id MappingRule ID
|
1004
|
+
# @return [Hash]
|
1005
|
+
def backend_mapping_rule(backend_id, mapping_rule_id)
|
1006
|
+
response = http_client.get("/admin/api/backend_apis/#{backend_id}/mapping_rules/#{mapping_rule_id}")
|
1007
|
+
extract(entity: 'mapping_rule', from: response)
|
1008
|
+
end
|
1009
|
+
|
1010
|
+
# @api public
|
1011
|
+
# @param [Fixnum] backend_id Backend ID
|
1012
|
+
# @param [Fixnum] mapping_rule_id MappingRule ID
|
1013
|
+
# @param [Hash] attributes Backend attributes
|
1014
|
+
# @return [Hash]
|
1015
|
+
def update_backend_mapping_rule(backend_id, mapping_rule_id, attributes)
|
1016
|
+
response = http_client.put("/admin/api/backend_apis/#{backend_id}/mapping_rules/#{mapping_rule_id}",
|
1017
|
+
body: attributes)
|
1018
|
+
extract(entity: 'mapping_rule', from: response)
|
1019
|
+
end
|
1020
|
+
|
1021
|
+
# @api public
|
1022
|
+
# @param [Fixnum] product_id Product ID
|
1023
|
+
# @return [List]
|
1024
|
+
def list_backend_usages(product_id)
|
1025
|
+
response = http_client.get("/admin/api/services/#{product_id}/backend_usages")
|
1026
|
+
extract(entity: 'backend_usage', from: response)
|
1027
|
+
end
|
1028
|
+
|
1029
|
+
# @api public
|
1030
|
+
# @param [Fixnum] product_id Product ID
|
1031
|
+
# @param [Hash] attrs Backend Usage attributes
|
1032
|
+
# @return [Hash]
|
1033
|
+
def create_backend_usage(product_id, attrs)
|
1034
|
+
response = http_client.post("/admin/api/services/#{product_id}/backend_usages",
|
1035
|
+
body: attrs)
|
1036
|
+
extract(entity: 'backend_usage', from: response)
|
1037
|
+
end
|
1038
|
+
|
1039
|
+
# @api public
|
1040
|
+
# @param [Fixnum] product_id Product ID
|
1041
|
+
# @param [Fixnum] id Backend Usage ID
|
1042
|
+
def delete_backend_usage(product_id, id)
|
1043
|
+
http_client.delete("/admin/api/services/#{product_id}/backend_usages/#{id}")
|
1044
|
+
true
|
1045
|
+
end
|
1046
|
+
|
1047
|
+
# @api public
|
1048
|
+
# @param [Fixnum] product_id Product ID
|
1049
|
+
# @param [Fixnum] id Backend Usage ID
|
1050
|
+
# @return [Hash]
|
1051
|
+
def backend_usage(product_id, id)
|
1052
|
+
response = http_client.get("/admin/api/services/#{product_id}/backend_usages/#{id}")
|
1053
|
+
extract(entity: 'backend_usage', from: response)
|
1054
|
+
end
|
1055
|
+
|
1056
|
+
# @api public
|
1057
|
+
# @param [Fixnum] product_id Product ID
|
1058
|
+
# @param [Fixnum] id Backend Usage ID
|
1059
|
+
# @param [Hash] attrs Backend Usage attributes
|
1060
|
+
# @return [Hash]
|
1061
|
+
def update_backend_usage(product_id, id, attrs)
|
1062
|
+
response = http_client.put("/admin/api/services/#{product_id}/backend_usages/#{id}",
|
1063
|
+
body: attrs)
|
1064
|
+
extract(entity: 'backend_usage', from: response)
|
1065
|
+
end
|
1066
|
+
|
819
1067
|
protected
|
820
1068
|
|
821
1069
|
def extract(collection: nil, entity:, from:)
|
@@ -58,26 +58,32 @@ module ThreeScale
|
|
58
58
|
when Net::HTTPUnprocessableEntity, Net::HTTPSuccess then parser.decode(response.body)
|
59
59
|
when Net::HTTPForbidden then forbidden!(response)
|
60
60
|
when Net::HTTPNotFound then notfound!(response)
|
61
|
-
else unexpected!(response
|
61
|
+
else unexpected!(response)
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
class ForbiddenError <
|
65
|
+
class ForbiddenError < ResponseError; end
|
66
66
|
|
67
|
-
class UnexpectedResponseError <
|
67
|
+
class UnexpectedResponseError < ResponseError; end
|
68
68
|
|
69
|
-
class NotFoundError <
|
69
|
+
class NotFoundError < ResponseError; end
|
70
|
+
|
71
|
+
class UnknownFormatError < StandardError; end
|
70
72
|
|
71
73
|
def forbidden!(response)
|
72
|
-
raise ForbiddenError, response
|
74
|
+
raise ForbiddenError.new(response, format_response(response))
|
73
75
|
end
|
74
76
|
|
75
77
|
def notfound!(response)
|
76
|
-
raise NotFoundError, response
|
78
|
+
raise NotFoundError.new(response, format_response(response))
|
77
79
|
end
|
78
80
|
|
79
81
|
def unexpected!(response)
|
80
|
-
raise UnexpectedResponseError, response
|
82
|
+
raise UnexpectedResponseError.new(response, format_response(response))
|
83
|
+
end
|
84
|
+
|
85
|
+
def unknownformat!
|
86
|
+
raise UnknownFormatError, "unknown format #{format}"
|
81
87
|
end
|
82
88
|
|
83
89
|
def serialize(body)
|
@@ -91,7 +97,7 @@ module ThreeScale
|
|
91
97
|
def parser
|
92
98
|
case format
|
93
99
|
when :json then JSONParser
|
94
|
-
else
|
100
|
+
else unknownformat!
|
95
101
|
end
|
96
102
|
end
|
97
103
|
|
@@ -108,6 +114,16 @@ module ThreeScale
|
|
108
114
|
path
|
109
115
|
end
|
110
116
|
|
117
|
+
def format_response(response)
|
118
|
+
body = response.body if text_based?(response)
|
119
|
+
"#{response.inspect} body=#{body}"
|
120
|
+
end
|
121
|
+
|
122
|
+
def text_based?(response)
|
123
|
+
response.content_type =~ /^text/ ||
|
124
|
+
response.content_type =~ /^application/ && !['application/octet-stream', 'application/pdf'].include?(response.content_type)
|
125
|
+
end
|
126
|
+
|
111
127
|
module JSONParser
|
112
128
|
module_function
|
113
129
|
|
data/lib/3scale/api/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: 3scale-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michal Cichra
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2021-01-25 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -31,14 +31,14 @@ dependencies:
|
|
31
31
|
requirements:
|
32
32
|
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
34
|
+
version: '13.0'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
39
|
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '13.0'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rspec
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,6 +78,7 @@ files:
|
|
78
78
|
- README.md
|
79
79
|
- lib/3scale/api.rb
|
80
80
|
- lib/3scale/api/client.rb
|
81
|
+
- lib/3scale/api/errors.rb
|
81
82
|
- lib/3scale/api/http_client.rb
|
82
83
|
- lib/3scale/api/version.rb
|
83
84
|
- lib/three_scale/api.rb
|
@@ -100,8 +101,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
101
|
- !ruby/object:Gem::Version
|
101
102
|
version: '0'
|
102
103
|
requirements: []
|
103
|
-
|
104
|
-
rubygems_version: 2.7.6
|
104
|
+
rubygems_version: 3.1.2
|
105
105
|
signing_key:
|
106
106
|
specification_version: 4
|
107
107
|
summary: API Client for 3scale APIs
|