Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -23,3 +23,6 @@ _testmain.go
*.test
*.prof
gin-bin

# C tags
tags
16 changes: 8 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![slumber](http://i.imgur.com/RXDVdB0.png)](https://github.com/sogko/slumber)
[![Build Status](https://drone.io/github.com/sogko/slumber/status.png)](https://drone.io/github.com/sogko/slumber/latest)
[![Coverage Status](https://coveralls.io/repos/sogko/slumber/badge.svg?branch=master)](https://coveralls.io/r/sogko/slumber?branch=master)
[![slumber](http://i.imgur.com/RXDVdB0.png)](https://github.com/grsouza/slumber)
[![Build Status](https://drone.io/github.com/grsouza/slumber/status.png)](https://drone.io/github.com/grsouza/slumber/latest)
[![Coverage Status](https://coveralls.io/repos/grsouza/slumber/badge.svg?branch=master)](https://coveralls.io/r/grsouza/slumber?branch=master)

A complete example of a REST-ful API server in written in Go (golang).

Expand Down Expand Up @@ -43,10 +43,10 @@ To run an instance of a server example:

```bash
# get go-package and put it in your go-workspace
go get github.com/sogko/slumber
go get github.com/grsouza/slumber

# go to package root folder
cd $GOPATH/src/github.com/sogko/slumber
cd $GOPATH/src/github.com/grsouza/slumber

# install dependencies
go get
Expand Down Expand Up @@ -103,12 +103,12 @@ $GOPATH/bin/ginkgo watch -r -p -nodes=4
```

## Code coverage
Coveralls.io link: [https://coveralls.io/r/sogko/slumber]
Coveralls.io link: [https://coveralls.io/r/grsouza/slumber]

To generate coverage profile

```bash
cd $GOPATH/src/github.com/sogko/slumber
cd $GOPATH/src/github.com/grsouza/slumber

# run test recursively and generate coverage data for each package
$GOPATH/bin/ginkgo -r -cover -p
Expand All @@ -120,7 +120,7 @@ $GOPATH/bin/gover . slumber.coverprofile
To view coverage

```bash
go tool cover -html=$GOPATH/src/github.com/sogko/slumber/slumber.coverprofile
go tool cover -html=$GOPATH/src/github.com/grsouza/slumber/slumber.coverprofile
```

## Sessions Management
Expand Down
2 changes: 1 addition & 1 deletion domain/accept_headers_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"fmt"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/sogko/slumber/domain"
"github.com/grsouza/slumber/domain"
)

var _ = Describe("AcceptHeaders Tests", func() {
Expand Down
2 changes: 1 addition & 1 deletion domain/access_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package domain_test
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/sogko/slumber/domain"
"github.com/grsouza/slumber/domain"
"net/http"
)

Expand Down
68 changes: 34 additions & 34 deletions domain/domain.coverprofile
Original file line number Diff line number Diff line change
@@ -1,35 +1,35 @@
mode: atomic
github.com/sogko/slumber/domain/access_controller.go:11.49,14.23 2 6
github.com/sogko/slumber/domain/access_controller.go:17.2,17.29 1 6
github.com/sogko/slumber/domain/access_controller.go:22.2,22.12 1 6
github.com/sogko/slumber/domain/access_controller.go:14.23,16.3 1 6
github.com/sogko/slumber/domain/access_controller.go:17.29,18.28 1 9
github.com/sogko/slumber/domain/access_controller.go:18.28,20.4 1 9
github.com/sogko/slumber/domain/middleware.go:9.94,11.2 1 1
github.com/sogko/slumber/domain/middleware.go:15.99,17.2 1 1
github.com/sogko/slumber/domain/middleware.go:21.120,23.2 1 1
github.com/sogko/slumber/domain/routes.go:27.51,30.27 2 4
github.com/sogko/slumber/domain/routes.go:33.2,33.33 1 4
github.com/sogko/slumber/domain/routes.go:38.2,38.12 1 4
github.com/sogko/slumber/domain/routes.go:30.27,32.3 1 5
github.com/sogko/slumber/domain/routes.go:33.33,34.34 1 5
github.com/sogko/slumber/domain/routes.go:34.34,36.4 1 5
github.com/sogko/slumber/domain/accept_headers.go:28.59,33.47 2 12
github.com/sogko/slumber/domain/accept_headers.go:78.2,80.42 3 12
github.com/sogko/slumber/domain/accept_headers.go:92.2,92.16 1 12
github.com/sogko/slumber/domain/accept_headers.go:33.47,44.53 6 15
github.com/sogko/slumber/domain/accept_headers.go:58.3,59.22 2 15
github.com/sogko/slumber/domain/accept_headers.go:64.3,70.43 5 12
github.com/sogko/slumber/domain/accept_headers.go:75.3,75.19 1 12
github.com/sogko/slumber/domain/accept_headers.go:44.53,46.45 2 9
github.com/sogko/slumber/domain/accept_headers.go:46.45,48.20 2 12
github.com/sogko/slumber/domain/accept_headers.go:51.5,51.19 1 12
github.com/sogko/slumber/domain/accept_headers.go:48.20,50.6 1 1
github.com/sogko/slumber/domain/accept_headers.go:51.19,53.6 1 11
github.com/sogko/slumber/domain/accept_headers.go:59.22,61.4 1 3
github.com/sogko/slumber/domain/accept_headers.go:70.43,73.4 2 5
github.com/sogko/slumber/domain/accept_headers.go:80.42,83.41 3 15
github.com/sogko/slumber/domain/accept_headers.go:90.3,90.36 1 15
github.com/sogko/slumber/domain/accept_headers.go:83.41,85.18 2 6
github.com/sogko/slumber/domain/accept_headers.go:88.4,88.28 1 6
github.com/sogko/slumber/domain/accept_headers.go:85.18,87.5 1 1
github.com/grsouza/slumber/domain/access_controller.go:11.49,14.23 2 6
github.com/grsouza/slumber/domain/access_controller.go:17.2,17.29 1 6
github.com/grsouza/slumber/domain/access_controller.go:22.2,22.12 1 6
github.com/grsouza/slumber/domain/access_controller.go:14.23,16.3 1 6
github.com/grsouza/slumber/domain/access_controller.go:17.29,18.28 1 9
github.com/grsouza/slumber/domain/access_controller.go:18.28,20.4 1 9
github.com/grsouza/slumber/domain/middleware.go:9.94,11.2 1 1
github.com/grsouza/slumber/domain/middleware.go:15.99,17.2 1 1
github.com/grsouza/slumber/domain/middleware.go:21.120,23.2 1 1
github.com/grsouza/slumber/domain/routes.go:27.51,30.27 2 4
github.com/grsouza/slumber/domain/routes.go:33.2,33.33 1 4
github.com/grsouza/slumber/domain/routes.go:38.2,38.12 1 4
github.com/grsouza/slumber/domain/routes.go:30.27,32.3 1 5
github.com/grsouza/slumber/domain/routes.go:33.33,34.34 1 5
github.com/grsouza/slumber/domain/routes.go:34.34,36.4 1 5
github.com/grsouza/slumber/domain/accept_headers.go:28.59,33.47 2 12
github.com/grsouza/slumber/domain/accept_headers.go:78.2,80.42 3 12
github.com/grsouza/slumber/domain/accept_headers.go:92.2,92.16 1 12
github.com/grsouza/slumber/domain/accept_headers.go:33.47,44.53 6 15
github.com/grsouza/slumber/domain/accept_headers.go:58.3,59.22 2 15
github.com/grsouza/slumber/domain/accept_headers.go:64.3,70.43 5 12
github.com/grsouza/slumber/domain/accept_headers.go:75.3,75.19 1 12
github.com/grsouza/slumber/domain/accept_headers.go:44.53,46.45 2 9
github.com/grsouza/slumber/domain/accept_headers.go:46.45,48.20 2 12
github.com/grsouza/slumber/domain/accept_headers.go:51.5,51.19 1 12
github.com/grsouza/slumber/domain/accept_headers.go:48.20,50.6 1 1
github.com/grsouza/slumber/domain/accept_headers.go:51.19,53.6 1 11
github.com/grsouza/slumber/domain/accept_headers.go:59.22,61.4 1 3
github.com/grsouza/slumber/domain/accept_headers.go:70.43,73.4 2 5
github.com/grsouza/slumber/domain/accept_headers.go:80.42,83.41 3 15
github.com/grsouza/slumber/domain/accept_headers.go:90.3,90.36 1 15
github.com/grsouza/slumber/domain/accept_headers.go:83.41,85.18 2 6
github.com/grsouza/slumber/domain/accept_headers.go:88.4,88.28 1 6
github.com/grsouza/slumber/domain/accept_headers.go:85.18,87.5 1 1
4 changes: 2 additions & 2 deletions domain/middleware_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ package domain_test
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/sogko/slumber/domain"
"github.com/sogko/slumber/middlewares/context"
"github.com/grsouza/slumber/domain"
"github.com/grsouza/slumber/middlewares/context"
"net/http"
"net/http/httptest"
)
Expand Down
2 changes: 1 addition & 1 deletion domain/routes_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ package domain_test
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/sogko/slumber/domain"
"github.com/grsouza/slumber/domain"
)

var _ = Describe("Routes Tests", func() {
Expand Down
31 changes: 22 additions & 9 deletions main.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,16 @@ package main
import (
"errors"
"fmt"
"github.com/sogko/slumber-sessions"
"github.com/sogko/slumber-users"
"github.com/sogko/slumber/middlewares/context"
"github.com/sogko/slumber/middlewares/mongodb"
"github.com/sogko/slumber/middlewares/renderer"
"github.com/sogko/slumber/server"
"io/ioutil"
"time"

jwt "github.com/dgrijalva/jwt-go"
"github.com/grsouza/slumber-sessions"
"github.com/grsouza/slumber-users"
"github.com/grsouza/slumber/middlewares/context"
"github.com/grsouza/slumber/middlewares/mongodb"
"github.com/grsouza/slumber/middlewares/renderer"
"github.com/grsouza/slumber/server"
)

func main() {
Expand All @@ -26,6 +28,17 @@ func main() {
panic(errors.New(fmt.Sprintf("Error loading public signing key: %v", err.Error())))
}

// Casting keys loaded to proper type
privateKey, err := jwt.ParseRSAPrivateKeyFromPEM(privateSigningKey)
if err != nil {
panic(errors.New(fmt.Sprintf("Error parsing private key: %v", err.Error())))
}

publicKey, err := jwt.ParseRSAPublicKeyFromPEM(publicSigningKey)
if err != nil {
panic(errors.New(fmt.Sprintf("Error parsing public key: %v", err.Error())))
}

// create current project context
ctx := context.New()

Expand All @@ -49,8 +62,8 @@ func main() {

// set up sessions resource
sessionsResource := sessions.NewResource(ctx, &sessions.Options{
PrivateSigningKey: privateSigningKey,
PublicSigningKey: publicSigningKey,
PrivateSigningKey: privateKey,
PublicSigningKey: publicKey,
Database: db,
Renderer: renderer,
UserRepositoryFactory: usersResource.UserRepositoryFactory,
Expand All @@ -76,6 +89,6 @@ func main() {

// bam!
s.Run(":3001", server.Options{
Timeout: 10*time.Second,
Timeout: 10 * time.Second,
})
}
2 changes: 1 addition & 1 deletion middlewares/context/context.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ package context

import (
"github.com/gorilla/context"
"github.com/sogko/slumber/domain"
"github.com/grsouza/slumber/domain"
"net/http"
)

Expand Down
2 changes: 1 addition & 1 deletion middlewares/mongodb/mongodb.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package mongodb

import (
"github.com/sogko/slumber/domain"
"github.com/grsouza/slumber/domain"
"gopkg.in/mgo.v2"
"net/http"
"time"
Expand Down
2 changes: 1 addition & 1 deletion middlewares/renderer/renderer.go
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package renderer

import (
"github.com/sogko/slumber/domain"
"github.com/grsouza/slumber/domain"
"github.com/unrolled/render"
"net/http"
)
Expand Down
4 changes: 2 additions & 2 deletions server/access_controller.go
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package server

import (
// "github.com/sogko/slumber/controllers"
"github.com/sogko/slumber/domain"
// "github.com/grsouza/slumber/controllers"
"github.com/grsouza/slumber/domain"
"net/http"
)

Expand Down
10 changes: 5 additions & 5 deletions server/access_controller_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,11 @@ package server_test
import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/sogko/slumber-users"
"github.com/sogko/slumber/domain"
"github.com/sogko/slumber/middlewares/context"
"github.com/sogko/slumber/middlewares/renderer"
"github.com/sogko/slumber/server"
"github.com/grsouza/slumber-users"
"github.com/grsouza/slumber/domain"
"github.com/grsouza/slumber/middlewares/context"
"github.com/grsouza/slumber/middlewares/renderer"
"github.com/grsouza/slumber/server"
"gopkg.in/mgo.v2/bson"
"net/http"
"net/http/httptest"
Expand Down
2 changes: 1 addition & 1 deletion server/router.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import (
"errors"
"fmt"
"github.com/gorilla/mux"
"github.com/sogko/slumber/domain"
"github.com/grsouza/slumber/domain"
"net/http"
)

Expand Down
16 changes: 8 additions & 8 deletions server/router_test.go
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
package server_test

import (
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
"github.com/sogko/slumber/domain"
"github.com/sogko/slumber/middlewares/context"
"github.com/sogko/slumber/middlewares/renderer"
"github.com/sogko/slumber/server"
"github.com/sogko/slumber/test_helpers"
"net/http"
"net/http/httptest"

"github.com/grsouza/slumber/domain"
"github.com/grsouza/slumber/middlewares/context"
"github.com/grsouza/slumber/middlewares/renderer"
"github.com/grsouza/slumber/server"
"github.com/grsouza/slumber/test_helpers"
. "github.com/onsi/ginkgo"
. "github.com/onsi/gomega"
)

var _ = Describe("Router", func() {
Expand Down Expand Up @@ -64,7 +65,6 @@ var _ = Describe("Router", func() {
Context("when user does not specify API version", func() {

It("should use default API version", func() {

request, _ = http.NewRequest("GET", "/api/test", nil)
s.ServeHTTP(recorder, request)
bodyJSON = test_helpers.MapFromJSON(recorder.Body.Bytes())
Expand Down
Loading