gloo 3.4.1 → 3.6.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/.ruby-version +1 -1
- data/lib/VERSION +1 -1
- data/lib/VERSION_NOTES +15 -0
- data/lib/gloo/app/args.rb +2 -2
- data/lib/gloo/app/engine.rb +21 -2
- data/lib/gloo/app/info.rb +0 -2
- data/lib/gloo/convert/converter.rb +1 -2
- data/lib/gloo/convert/string_to_integer.rb +2 -0
- data/lib/gloo/core/dictionary.rb +1 -1
- data/lib/gloo/core/event_manager.rb +19 -0
- data/lib/gloo/core/factory.rb +2 -2
- data/lib/gloo/core/gloo_system.rb +1 -1
- data/lib/gloo/core/here.rb +1 -1
- data/lib/gloo/core/obj.rb +61 -5
- data/lib/gloo/core/parser.rb +1 -1
- data/lib/gloo/core/pn.rb +1 -1
- data/lib/gloo/exec/dispatch.rb +19 -0
- data/lib/gloo/exec/runner.rb +1 -1
- data/lib/gloo/objs/basic/integer.rb +10 -1
- data/lib/gloo/objs/ctrl/each.rb +17 -184
- data/lib/gloo/objs/ctrl/each_child.rb +68 -0
- data/lib/gloo/objs/ctrl/each_file.rb +83 -0
- data/lib/gloo/objs/ctrl/each_line.rb +67 -0
- data/lib/gloo/objs/ctrl/each_repo.rb +84 -0
- data/lib/gloo/objs/ctrl/each_word.rb +67 -0
- data/lib/gloo/objs/data/mysql.rb +2 -2
- data/lib/gloo/objs/data/pg.rb +1 -1
- data/lib/gloo/objs/data/query.rb +54 -5
- data/lib/gloo/objs/data/query_result.rb +6 -1
- data/lib/gloo/objs/data/sqlite.rb +1 -1
- data/lib/gloo/objs/data/table.rb +2 -2
- data/lib/gloo/objs/ror/eval.rb +1 -1
- data/lib/gloo/objs/security/password.rb +5 -8
- data/lib/gloo/objs/system/file_handle.rb +39 -5
- data/lib/gloo/objs/web_svr/element.rb +2 -2
- data/lib/gloo/objs/web_svr/page.rb +16 -6
- data/lib/gloo/objs/web_svr/svr.rb +29 -13
- data/lib/gloo/persist/file_loader.rb +2 -2
- data/lib/gloo/persist/file_storage.rb +1 -1
- data/lib/gloo/persist/line_splitter.rb +1 -0
- data/lib/gloo/verbs/check.rb +54 -0
- data/lib/gloo/verbs/redirect.rb +34 -2
- data/lib/gloo/verbs/tell.rb +11 -36
- data/lib/gloo/web_svr/handler.rb +32 -5
- data/lib/gloo/web_svr/request.rb +11 -40
- data/lib/gloo/web_svr/request_params.rb +104 -0
- data/lib/gloo/web_svr/response.rb +25 -0
- data/lib/gloo/web_svr/response_code.rb +1 -1
- data/lib/gloo/web_svr/routing/router.rb +10 -2
- data/lib/gloo/web_svr/session.rb +18 -12
- metadata +10 -3
@@ -41,6 +41,8 @@ module Gloo
|
|
41
41
|
def page_for_route( path, method )
|
42
42
|
@log.info "routing to #{path} for method #{method}"
|
43
43
|
@method = method
|
44
|
+
route_params = nil
|
45
|
+
@id = nil
|
44
46
|
|
45
47
|
detect_segments path
|
46
48
|
|
@@ -53,7 +55,7 @@ module Gloo
|
|
53
55
|
if Gloo::WebSvr::Routing::ResourceRouter.is_implicit_create?( method, @route_segments.last )
|
54
56
|
@route_segments << Gloo::WebSvr::Routing::ResourceRouter::POST_ROUTE
|
55
57
|
page = find_route_segment( pages.children )
|
56
|
-
return [ page, @id ] if page
|
58
|
+
return [ page, @id, route_params ] if page
|
57
59
|
|
58
60
|
# We didn't find the page, so remove the last segment and try again
|
59
61
|
# posting to the resource.
|
@@ -61,7 +63,13 @@ module Gloo
|
|
61
63
|
end
|
62
64
|
|
63
65
|
page = find_route_segment( pages.children )
|
64
|
-
|
66
|
+
|
67
|
+
# Are there any remaining segments to be added as route parameters?
|
68
|
+
if @route_segments.count > 0
|
69
|
+
route_params = @route_segments
|
70
|
+
end
|
71
|
+
|
72
|
+
return [ page, @id, route_params ] if page
|
65
73
|
end
|
66
74
|
|
67
75
|
return nil
|
data/lib/gloo/web_svr/session.rb
CHANGED
@@ -41,21 +41,25 @@ module Gloo
|
|
41
41
|
# Add it to the session container.
|
42
42
|
#
|
43
43
|
def set_session_data_for_request( env )
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
44
|
+
begin
|
45
|
+
cookie_hash = Rack::Utils.parse_cookies( env )
|
46
|
+
|
47
|
+
# Are we using sessions?
|
48
|
+
if @server_obj.use_session?
|
49
|
+
data = cookie_hash[ session_name ]
|
50
|
+
|
51
|
+
if data
|
52
|
+
data = decode_decrypt( data )
|
53
|
+
return unless data
|
54
|
+
|
55
|
+
data.each do |key, value|
|
56
|
+
@server_obj.set_session_var( key, value )
|
57
|
+
end
|
55
58
|
end
|
56
59
|
end
|
60
|
+
rescue => e
|
61
|
+
@engine.log_exception e
|
57
62
|
end
|
58
|
-
|
59
63
|
end
|
60
64
|
|
61
65
|
|
@@ -110,6 +114,8 @@ module Gloo
|
|
110
114
|
# Decode and decrypt the session data.
|
111
115
|
#
|
112
116
|
def decode_decrypt( data )
|
117
|
+
return nil unless data && key && iv
|
118
|
+
|
113
119
|
data = Gloo::Objs::Cipher.decrypt( data, key, iv )
|
114
120
|
return JSON.parse( data )
|
115
121
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gloo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Eric Crane
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-11-26 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -439,6 +439,11 @@ files:
|
|
439
439
|
- lib/gloo/objs/cli/prompt.rb
|
440
440
|
- lib/gloo/objs/cli/select.rb
|
441
441
|
- lib/gloo/objs/ctrl/each.rb
|
442
|
+
- lib/gloo/objs/ctrl/each_child.rb
|
443
|
+
- lib/gloo/objs/ctrl/each_file.rb
|
444
|
+
- lib/gloo/objs/ctrl/each_line.rb
|
445
|
+
- lib/gloo/objs/ctrl/each_repo.rb
|
446
|
+
- lib/gloo/objs/ctrl/each_word.rb
|
442
447
|
- lib/gloo/objs/ctrl/function.rb
|
443
448
|
- lib/gloo/objs/ctrl/repeat.rb
|
444
449
|
- lib/gloo/objs/data/markdown.rb
|
@@ -483,6 +488,7 @@ files:
|
|
483
488
|
- lib/gloo/verbs/alert.rb
|
484
489
|
- lib/gloo/verbs/beep.rb
|
485
490
|
- lib/gloo/verbs/break.rb
|
491
|
+
- lib/gloo/verbs/check.rb
|
486
492
|
- lib/gloo/verbs/cls.rb
|
487
493
|
- lib/gloo/verbs/context.rb
|
488
494
|
- lib/gloo/verbs/create.rb
|
@@ -512,6 +518,7 @@ files:
|
|
512
518
|
- lib/gloo/web_svr/embedded_renderer.rb
|
513
519
|
- lib/gloo/web_svr/handler.rb
|
514
520
|
- lib/gloo/web_svr/request.rb
|
521
|
+
- lib/gloo/web_svr/request_params.rb
|
515
522
|
- lib/gloo/web_svr/response.rb
|
516
523
|
- lib/gloo/web_svr/response_code.rb
|
517
524
|
- lib/gloo/web_svr/routing/resource_router.rb
|
@@ -541,7 +548,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
541
548
|
- !ruby/object:Gem::Version
|
542
549
|
version: '0'
|
543
550
|
requirements: []
|
544
|
-
rubygems_version: 3.
|
551
|
+
rubygems_version: 3.5.16
|
545
552
|
signing_key:
|
546
553
|
specification_version: 4
|
547
554
|
summary: Gloo scripting language. A scripting language built on ruby.
|