rbbt-rest 1.8.147 → 1.8.148

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.
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