rbbt-rest 1.8.147 → 1.8.148

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/rbbt/rest/common/cache.rb +14 -4
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b76870466fef5096fbc9e2a741acc69520b02a37130ebd811d929e265663f799
4
- data.tar.gz: 9048d091f9224f42b9ef15c78d53e79191496490f1357bfb8527aacdcaac53c5
3
+ metadata.gz: 19ee6736af5384622ccdc31ef25294aa15f0fab48099f83467820341d117013b
4
+ data.tar.gz: 3660821decc1a11a951c8edf818964ca1068ea263ddbb2ccb24c8dfb64c8f67d
5
5
  SHA512:
6
- metadata.gz: 59741c8b3c9faf57bfa2831702320651472b148a16ea9db5dc13fe44ecc3e1f09000098e11d8da6b43b0ae7ebb2e28e9eb794a08ad0e02673e95ce1690222444
7
- data.tar.gz: 35670278102a53384f7f6bd56787c951bd4ac82d93382df72f13dd992d61e21658525be77695ccefdd0d9f992b69b25e5962db6fb4f999fe2ab405979eb4e080
6
+ metadata.gz: 5475680967fc708f51e93a16cd3694b1fb9f664330b8cc09364af52b49af993cc5cbf8bdb786f80d00f9840744d025a59150b157883f2c632a6a9aa3bcf08aae
7
+ data.tar.gz: 4e4e73608d2d57f8fbbdca228430cecd1f2dd393d124ea0bcf8686137bdd9e38ffb8dc3abe21ec94cb2f6f4925ce9a3b6f2e828d8d60929245377345d417e2f8
@@ -4,6 +4,17 @@ require 'rbbt/rest/common/table'
4
4
 
5
5
  module RbbtRESTHelpers
6
6
 
7
+ def escape_url(url)
8
+ base, _sep, query = url.partition("?")
9
+ base = base.split("/").collect{|p| CGI.escape(p) }* "/"
10
+ if query && ! query.empty?
11
+ query = query.split("&").collect{|e| e.split("=").collect{|pe| CGI.escape(pe) } * "=" } * "&"
12
+ [base, query] * "?"
13
+ else
14
+ base
15
+ end
16
+ end
17
+
7
18
  MEMORY_CACHE = {}
8
19
 
9
20
  def old_cache(path, check)
@@ -164,10 +175,9 @@ module RbbtRESTHelpers
164
175
  list_id = "List of #{type} in table #{ @fragment }"
165
176
  list_id << " (#{ @filter })" if @filter
166
177
  Entity::List.save_list(type.to_s, list_id, list, user)
167
- header "Location", Entity::REST.entity_list_url(list_id, type)
168
- url = Entity::REST.entity_list_url(list_id, type)
178
+ url = Entity::REST.entity_list_url(list_id, type)
169
179
  url = url + '?_layout=false' unless @layout
170
- url = URI.encode(url)
180
+ url = escape_url(url)
171
181
  redirect to(url)
172
182
  when "map"
173
183
  raw_tsv, tsv_options = load_tsv(fragment_file)
@@ -189,7 +199,7 @@ module RbbtRESTHelpers
189
199
  Entity::Map.save_map(type.to_s, column, map_id, tsv, user)
190
200
  url = Entity::REST.entity_map_url(map_id, type, column)
191
201
  url = url + '?_layout=false' unless @layout
192
- url = URI.encode(url)
202
+ url = escape_url(url)
193
203
  redirect to(url)
194
204
  when "excel"
195
205
  require 'rbbt/tsv/excel'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbbt-rest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.8.147
4
+ version: 1.8.148
5
5
  platform: ruby
6
6
  authors:
7
7
  - Miguel Vazquez
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-09-28 00:00:00.000000000 Z
11
+ date: 2022-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake