mirror of
				https://gitea.invidious.io/iv-org/shard-kemal.git
				synced 2024-08-15 00:53:36 +00:00 
			
		
		
		
	Session also supports arrays
This commit is contained in:
		
							parent
							
								
									8c600cb26e
								
							
						
					
					
						commit
						a8e53fb94e
					
				
					 2 changed files with 34 additions and 1 deletions
				
			
		|  | @ -53,4 +53,37 @@ describe "Session" do | |||
|     Kemal::Sessions.prune! | ||||
|     s.size.should eq(0) | ||||
|   end | ||||
| 
 | ||||
|   it "supports many types" do | ||||
|     who = nil | ||||
|     age = nil | ||||
|     awesome = nil | ||||
|     velocity = nil | ||||
|     arr = nil | ||||
|     get "/" do |env| | ||||
|       sess = env.session | ||||
|       who = sess["who"]? | ||||
|       age = sess["age"]? | ||||
|       velocity = sess["velocity"]? | ||||
|       awesome = sess["awesome"]? | ||||
|       arr = sess["arr"]? | ||||
|       sess["who"] = "Kemal" | ||||
|       sess["age"] = 2016 | ||||
|       sess["velocity"] = 9999.9 | ||||
|       sess["awesome"] = true | ||||
|       sess["arr"] = [1, "Serdar", true, 90000.0] | ||||
|       "Hello" | ||||
|     end | ||||
| 
 | ||||
|     request = HTTP::Request.new("GET", "/") | ||||
|     response = call_request_on_app(request) | ||||
|     request = HTTP::Request.new("GET", "/", response.headers) | ||||
|     response = call_request_on_app(request) | ||||
| 
 | ||||
|     who.should eq "Kemal" | ||||
|     age.should eq 2016 | ||||
|     velocity.should eq 9999.9 | ||||
|     awesome.should eq true | ||||
|     arr.should eq [1, "Serdar", true, 90000.0] | ||||
|   end | ||||
| end | ||||
|  |  | |||
|  | @ -16,7 +16,7 @@ module Kemal | |||
|   # Sessions are pruned hourly after 48 hours of inactivity. | ||||
|   class Sessions | ||||
|     # Session Types are String, Integer, Float and Boolean | ||||
|     alias SessionTypes = String | Int64 | Float64 | Bool | ||||
|     alias SessionTypes = String | Int32 | Float64 | Bool | Array(String | Int32 | Float64 | Bool) | ||||
| 
 | ||||
|     # In-memory, ephemeral datastore only. | ||||
|     # | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue