move to stores
This commit is contained in:
		
							
								
								
									
										21
									
								
								cookiestore/LICENSE
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								cookiestore/LICENSE
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| MIT License | ||||
|  | ||||
| Copyright (c) 2016 Gin-Gonic | ||||
|  | ||||
| Permission is hereby granted, free of charge, to any person obtaining a copy | ||||
| of this software and associated documentation files (the "Software"), to deal | ||||
| in the Software without restriction, including without limitation the rights | ||||
| to use, copy, modify, merge, publish, distribute, sublicense, and/or sell | ||||
| copies of the Software, and to permit persons to whom the Software is | ||||
| furnished to do so, subject to the following conditions: | ||||
|  | ||||
| The above copyright notice and this permission notice shall be included in all | ||||
| copies or substantial portions of the Software. | ||||
|  | ||||
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||||
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||||
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE | ||||
| AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||||
| LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, | ||||
| OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE | ||||
| SOFTWARE. | ||||
							
								
								
									
										39
									
								
								cookiestore/cookie.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										39
									
								
								cookiestore/cookie.go
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,39 @@ | ||||
| package cookiestore | ||||
|  | ||||
| import ( | ||||
| 	ginsessions "github.com/dalu/sessions" | ||||
| 	"github.com/gorilla/sessions" | ||||
| ) | ||||
|  | ||||
| // CookieStore interface | ||||
| type CookieStore interface { | ||||
| 	ginsessions.Store | ||||
| } | ||||
|  | ||||
| // NewCookieStore creates a new cookieStore. | ||||
| // Keys are defined in pairs to allow key rotation, but the common case is to set a single | ||||
| // authentication key and optionally an encryption key. | ||||
| // | ||||
| // The first key in a pair is used for authentication and the second for encryption. The | ||||
| // encryption key can be set to nil or omitted in the last pair, but the authentication key | ||||
| // is required in all pairs. | ||||
| // | ||||
| // It is recommended to use an authentication key with 32 or 64 bytes. The encryption key, | ||||
| // if set, must be either 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256 modes. | ||||
| func NewCookieStore(keyPairs ...[]byte) CookieStore { | ||||
| 	return &cookieStore{sessions.NewCookieStore(keyPairs...)} | ||||
| } | ||||
|  | ||||
| type cookieStore struct { | ||||
| 	*sessions.CookieStore | ||||
| } | ||||
|  | ||||
| func (c *cookieStore) Options(options ginsessions.Options) { | ||||
| 	c.CookieStore.Options = &sessions.Options{ | ||||
| 		Path:     options.Path, | ||||
| 		Domain:   options.Domain, | ||||
| 		MaxAge:   options.MaxAge, | ||||
| 		Secure:   options.Secure, | ||||
| 		HttpOnly: options.HTTPOnly, | ||||
| 	} | ||||
| } | ||||
		Reference in New Issue
	
	Block a user
	 Darko Luketic
					Darko Luketic