I hereby claim:
- I am nitronick600 on github.
- I am nickhansen (https://keybase.io/nickhansen) on keybase.
- I have a public key whose fingerprint is DEA5 D49C F915 9DB5 82EC 7721 2247 1344 2D8F 8FC3
To claim this, I am signing this object:
| package main | |
| import ( | |
| "database/sql" | |
| ) | |
| var ( | |
| db *sql.DB | |
| ) | |
| func main() { |
| //ContextedHandler is a wrapper to provide AppContext to our Handlers | |
| type ContextedHandler struct { | |
| *AppContext | |
| //ContextedHandlerFunc is the interface which our Handlers will implement | |
| ContextedHandlerFunc func(*AppContext, http.ResponseWriter, *http.Request) (int, error) | |
| } | |
| //AppContext provides the app context to handlers. This *cannot* contain request-specific keys like | |
| //sessionId or similar. It is shared across requests. | |
| type AppContext struct { |
| //HelloWorldHandler just prints a Hello World on a GET request | |
| func HelloWorldHandler(c *AppContext, w http.ResponseWriter, req *http.Request) (int, error) { | |
| //So in this handler we now have the context provided | |
| fmt.Fprint(w, "Hello World") | |
| return http.StatusOK, nil | |
| } | |
| func main() { | |
| context := AppContext{Db: initDb(), Redis: initRedis()} |
| //Route this struct is used for declaring a route | |
| type Route struct { | |
| Name string | |
| Method []string | |
| Pattern string | |
| ContextedHandler *ContextedHandler | |
| } | |
| //Routes just stores our Route declarations | |
| type Routes []Route |
| //CheckAuth is an example middleware which demonstrates how we *might* check auth. | |
| func CheckAuth(h http.Handler) http.Handler { | |
| return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { | |
| //TODO this is just an example. | |
| //Get the cookie or something and check it | |
| cookie, err := r.Cookie("session") | |
| if err != nil || cookie == nil { | |
| // TODO if an err, then redirect | |
| // http.Redirect(w, r, "/", 401) | |
| } |
| //NewRouter returns a new Gorrila Mux router | |
| func NewRouter(c AppContext) *mux.Router { | |
| router := mux.NewRouter().StrictSlash(true) | |
| appContext = c | |
| for _, route := range routes { | |
| //Check all routes to make sure the users are properly authenticated | |
| router. | |
| Methods(route.Method...). | |
| Path(route.Pattern). |
| //NewRouter returns a new Gorrila Mux router | |
| func NewRouter(c AppContext) *mux.Router { | |
| router := mux.NewRouter().StrictSlash(true) | |
| appContext = c | |
| for _, route := range routes { | |
| //Check all routes to make sure the users are properly authenticated | |
| router. | |
| Methods(route.Method...). | |
| Path(route.Pattern). |
| nick.hansen@nickhansen-ltm6~/PersonalCode/Go/src/github.com/rippaio/sia-stratum: docker logs e395f72a6191 | |
| The files belonging to this database system will be owned by user "postgres". | |
| This user must also own the server process. | |
| The database cluster will be initialized with locale "en_US.utf8". | |
| The default database encoding has accordingly been set to "UTF8". | |
| The default text search configuration will be set to "english". | |
| Data page checksums are disabled. |
I hereby claim:
To claim this, I am signing this object:
| Whoops, looks like something went wrong. | |
| 2/2 | |
| QueryException in Connection.php line 729: | |
| SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'address' cannot be null (SQL: insert into `address_details` (`user_id`, `address`, `public_key`, `private_key`) values (58, , , eyJpdiI6IjdIdmkwVlZoUmpzd25PNlwvS0h3dHhBPT0iLCJ2YWx1ZSI6Ik5uTGlxbXl4Vk1VQnF1eHA4OFZKRlE9PSIsIm1hYyI6IjZjNzhiZmZkZTU1ZTQxYmM4ODg2OTRhN2Q1NzlmNWYxYWVmYTkyNzY5M2NhYzQ2OTkyZjFlMDE4YWFjZDNiNTYifQ==)) | |
| in Connection.php line 729 | |
| at Connection->runQueryCallback('insert into `address_details` (`user_id`, `address`, `public_key`, `private_key`) values (?, ?, ?, ?)', array('58', null, null, 'eyJpdiI6IjdIdmkwVlZoUmpzd25PNlwvS0h3dHhBPT0iLCJ2YWx1ZSI6Ik5uTGlxbXl4Vk1VQnF1eHA4OFZKRlE9PSIsIm1hYyI6IjZjNzhiZmZkZTU1ZTQxYmM4ODg2OTRhN2Q1NzlmNWYxYWVmYTkyNzY5M2NhYzQ2OTkyZjFlMDE4YWFjZDNiNTYifQ=='), object(Closure)) in Connection.php line 685 | |
| at Connection->run('insert into `address_details` (`user_id`, `address`, `public_key`, `private_key`) values (?, ?, ?, ?) |