Browse Source

Initial commit

main
Yiğit Çolakoğlu 4 years ago
commit
aaded42797
27 changed files with 849 additions and 0 deletions
  1. +4
    -0
      .gitignore
  2. +17
    -0
      Dockerfile
  3. +43
    -0
      README.md
  4. +83
    -0
      app/controllers/app.go
  5. +59
    -0
      app/init.go
  6. +21
    -0
      app/views/Hermes/Index.html
  7. +64
    -0
      app/views/debug.html
  8. +20
    -0
      app/views/errors/404.html
  9. +16
    -0
      app/views/errors/500.html
  10. +18
    -0
      app/views/flash.html
  11. +5
    -0
      app/views/footer.html
  12. +19
    -0
      app/views/header.html
  13. +230
    -0
      conf/app.conf
  14. +25
    -0
      conf/routes
  15. +23
    -0
      go.mod
  16. +116
    -0
      go.sum
  17. +8
    -0
      messages/sample.en
  18. +39
    -0
      none
  19. +5
    -0
      public/css/bootstrap-3.3.6.min.css
  20. BIN
      public/fonts/glyphicons-halflings-regular.ttf
  21. BIN
      public/fonts/glyphicons-halflings-regular.woff
  22. BIN
      public/fonts/glyphicons-halflings-regular.woff2
  23. BIN
      public/img/favicon.png
  24. +7
    -0
      public/js/bootstrap-3.3.6.min.js
  25. +4
    -0
      public/js/jquery-2.2.4.min.js
  26. BIN
      target/app/Hermes/Hermes
  27. +23
    -0
      tests/apptest.go

+ 4
- 0
.gitignore View File

@ -0,0 +1,4 @@
test-results/
storage/
tmp/
routes/

+ 17
- 0
Dockerfile View File

@ -0,0 +1,17 @@
# Use the official go docker image built on debian.
FROM golang
# Grab the source code and add it to the workspace.
ADD . /Hermes
# Install revel and the revel CLI.
RUN go get github.com/revel/revel
RUN go get github.com/revel/cmd/revel
# Use the revel CLI to start up our application.
WORKDIR /Hermes
# ENTRYPOINT bash
ENTRYPOINT revel run -a Hermes prod
# Open up the port where the app is running.
EXPOSE 9000

+ 43
- 0
README.md View File

@ -0,0 +1,43 @@
# Welcome to Revel
A high-productivity web framework for the [Go language](http://www.golang.org/).
### Start the web server:
revel run myapp
### Go to http://localhost:9000/ and you'll see:
"It works"
## Code Layout
The directory structure of a generated Revel application:
conf/ Configuration directory
app.conf Main app configuration file
routes Routes definition file
app/ App sources
init.go Interceptor registration
controllers/ App controllers go here
views/ Templates directory
messages/ Message files
public/ Public static assets
css/ CSS files
js/ Javascript files
images/ Image files
tests/ Test suites
## Help
* The [Getting Started with Revel](http://revel.github.io/tutorial/gettingstarted.html).
* The [Revel guides](http://revel.github.io/manual/index.html).
* The [Revel sample apps](http://revel.github.io/examples/index.html).
* The [API documentation](https://godoc.org/github.com/revel/revel).

+ 83
- 0
app/controllers/app.go View File

@ -0,0 +1,83 @@
package controllers
import (
"bytes"
"crypto/sha256"
"fmt"
"github.com/revel/revel"
"image"
"image/jpeg"
"io/ioutil"
"net/http"
"net/url"
"os"
"strconv"
"strings"
)
var pix = image.NewRGBA(image.Rectangle{image.Point{0, 0}, image.Point{1, 1}})
var img image.Image = pix
var buffer = new(bytes.Buffer)
var foo = jpeg.Encode(buffer, img, nil)
var content_length = strconv.Itoa(len(buffer.Bytes()))
type Pixel string
func (p Pixel) Apply(req *revel.Request, resp *revel.Response) {
resp.Out.Header().Add("Content-Type", "image/jpeg")
resp.Out.Header().Add("Content-Length", content_length)
resp.GetWriter().Write(buffer.Bytes())
}
type Hermes struct {
*revel.Controller
}
func (c Hermes) Index() revel.Result {
return c.Render()
}
func send_notification(title, recipient, token string) {
http.PostForm("https://gotify.yigitcolakoglu.com/message?token="+token,
url.Values{"title": {"E-mail Seen"}, "message": {fmt.Sprintf("To: %s \n Title: %s", recipient, title)}, "priority": {"5"}})
}
func (h Hermes) Read(title, recipient, user, provided_hash string) revel.Result {
ip := strings.Split(h.Request.RemoteAddr, ":")[0]
raw_userdata, _ := ioutil.ReadFile("storage/userdata")
userdata := strings.Split(string(raw_userdata), "\n")
key := ""
gotify_token := ""
for i := 0; i < len(userdata); i++ {
if strings.Split(userdata[i], " ")[0] == user {
key = strings.Split(userdata[i], " ")[1]
gotify_token = strings.Split(userdata[i], " ")[2]
}
}
if key == "" {
return Pixel("No dice")
}
identity := title + recipient + user + key
hash_string := fmt.Sprintf("%x", sha256.Sum256([]byte(identity)))
if hash_string != provided_hash {
fmt.Printf("Hashes don't match!\n")
return Pixel("You think you can fool me?")
}
if _, err := os.Stat("storage/ipdata/" + hash_string); os.IsNotExist(err) {
os.Create("storage/ipdata/" + hash_string)
}
raw_ipdata, _ := ioutil.ReadFile("storage/ipdata/" + hash_string)
ipdata := strings.Split(string(raw_ipdata), "\n")
for i := 0; i < len(ipdata)-1; i++ {
if ipdata[i] == ip {
fmt.Printf("IP collision detected!\n")
return Pixel("I see what you are trying to do!")
}
}
f, _ := os.OpenFile("storage/ipdata/"+hash_string, os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644)
f.WriteString(fmt.Sprintf("%s\n", ip))
f.Close()
send_notification(title, recipient, gotify_token)
return Pixel("Success")
}

+ 59
- 0
app/init.go View File

@ -0,0 +1,59 @@
package app
import (
"github.com/revel/revel"
)
var (
// AppVersion revel app version (ldflags)
AppVersion string
// BuildTime revel app build-time (ldflags)
BuildTime string
)
func init() {
// Filters is the default set of global filters.
revel.Filters = []revel.Filter{
revel.PanicFilter, // Recover from panics and display an error page instead.
revel.RouterFilter, // Use the routing table to select the right Action
revel.FilterConfiguringFilter, // A hook for adding or removing per-Action filters.
revel.ParamsFilter, // Parse parameters into Controller.Params.
revel.SessionFilter, // Restore and write the session cookie.
revel.FlashFilter, // Restore and write the flash cookie.
revel.ValidationFilter, // Restore kept validation errors and save new ones from cookie.
revel.I18nFilter, // Resolve the requested language
HeaderFilter, // Add some security based headers
revel.InterceptorFilter, // Run interceptors around the action.
revel.CompressFilter, // Compress the result.
revel.BeforeAfterFilter, // Call the before and after filter functions
revel.ActionInvoker, // Invoke the action.
}
// Register startup functions with OnAppStart
// revel.DevMode and revel.RunMode only work inside of OnAppStart. See Example Startup Script
// ( order dependent )
// revel.OnAppStart(ExampleStartupScript)
// revel.OnAppStart(InitDB)
// revel.OnAppStart(FillCache)
}
// HeaderFilter adds common security headers
// There is a full implementation of a CSRF filter in
// https://github.com/revel/modules/tree/master/csrf
var HeaderFilter = func(c *revel.Controller, fc []revel.Filter) {
c.Response.Out.Header().Add("X-Frame-Options", "SAMEORIGIN")
c.Response.Out.Header().Add("X-XSS-Protection", "1; mode=block")
c.Response.Out.Header().Add("X-Content-Type-Options", "nosniff")
c.Response.Out.Header().Add("Referrer-Policy", "strict-origin-when-cross-origin")
fc[0](c, fc[1:]) // Execute the next filter stage.
}
//func ExampleStartupScript() {
// // revel.DevMod and revel.RunMode work here
// // Use this script to check for dev mode and set dev/prod startup scripts here!
// if revel.DevMode == true {
// // Dev mode
// }
//}

+ 21
- 0
app/views/Hermes/Index.html View File

@ -0,0 +1,21 @@
{{set . "title" "Home"}}
{{template "header.html" .}}
<header class="jumbotron" style="background-color:#A9F16C">
<div class="container">
<div class="row">
<h1>It works!</h1>
<p></p>
</div>
</div>
</header>
<div class="container">
<div class="row">
<div class="span6">
{{template "flash.html" .}}
</div>
</div>
</div>
{{template "footer.html" .}}

+ 64
- 0
app/views/debug.html View File

@ -0,0 +1,64 @@
<style type="text/css">
#sidebar {
position: absolute;
right: 0px;
top:69px;
max-width: 75%;
z-index: 1000;
background-color: #fee;
border: thin solid grey;
padding: 10px;
}
#toggleSidebar {
position: absolute;
right: 0px;
top: 50px;
background-color: #fee;
}
</style>
<div id="sidebar" style="display:none;">
<h4>Available pipelines</h4>
<dl>
{{ range $index, $value := .}}
<dt>{{$index}}</dt>
<dd>{{$value}}</dd>
{{end}}
</dl>
<h4>Flash</h4>
<dl>
{{ range $index, $value := .flash}}
<dt>{{$index}}</dt>
<dd>{{$value}}</dd>
{{end}}
</dl>
<h4>Errors</h4>
<dl>
{{ range $index, $value := .errors}}
<dt>{{$index}}</dt>
<dd>{{$value}}</dd>
{{end}}
</dl>
</div>
<a id="toggleSidebar" href="#" class="toggles"><i class="glyphicon glyphicon-chevron-left"></i></a>
<script>
$sidebar = 0;
$('#toggleSidebar').click(function() {
if ($sidebar === 1) {
$('#sidebar').hide();
$('#toggleSidebar i').addClass('glyphicon-chevron-left');
$('#toggleSidebar i').removeClass('glyphicon-chevron-right');
$sidebar = 0;
}
else {
$('#sidebar').show();
$('#toggleSidebar i').addClass('glyphicon-chevron-right');
$('#toggleSidebar i').removeClass('glyphicon-chevron-left');
$sidebar = 1;
}
return false;
});
</script>

+ 20
- 0
app/views/errors/404.html View File

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Not found</title>
</head>
<body>
{{if eq .RunMode "dev"}}
{{template "errors/404-dev.html" .}}
{{else}}
{{with .Error}}
<h1>
{{.Title}}
</h1>
<p>
{{.Description}}
</p>
{{end}}
{{end}}
</body>
</html>

+ 16
- 0
app/views/errors/500.html View File

@ -0,0 +1,16 @@
<!DOCTYPE html>
<html>
<head>
<title>Application error</title>
</head>
<body>
{{if eq .RunMode "dev"}}
{{template "errors/500-dev.html" .}}
{{else}}
<h1>Oops, an error occured</h1>
<p>
This exception has been logged.
</p>
{{end}}
</body>
</html>

+ 18
- 0
app/views/flash.html View File

@ -0,0 +1,18 @@
{{if .flash.success}}
<div class="alert alert-success">
{{.flash.success}}
</div>
{{end}}
{{if or .errors .flash.error}}
<div class="alert alert-danger">
{{if .flash.error}}
{{.flash.error}}
{{end}}
<ul style="margin-top:10px;">
{{range .errors}}
<li>{{.}}</li>
{{end}}
</ul>
</div>
{{end}}

+ 5
- 0
app/views/footer.html View File

@ -0,0 +1,5 @@
{{if .DevMode}}
{{template "debug.html" .}}
{{end}}
</body>
</html>

+ 19
- 0
app/views/header.html View File

@ -0,0 +1,19 @@
<!DOCTYPE html>
<html>
<head>
<title>{{.title}}</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" type="text/css" href="/public/css/bootstrap-3.3.6.min.css">
<link rel="shortcut icon" type="image/png" href="/public/img/favicon.png">
<script src="/public/js/jquery-2.2.4.min.js"></script>
<script src="/public/js/bootstrap-3.3.6.min.js"></script>
{{range .moreStyles}}
<link rel="stylesheet" type="text/css" href="/public/{{.}}">
{{end}}
{{range .moreScripts}}
<script src="/public/{{.}}" type="text/javascript" charset="utf-8"></script>
{{end}}
</head>
<body>

+ 230
- 0
conf/app.conf View File

@ -0,0 +1,230 @@
################################################################################
# Revel configuration file
# More info at http://revel.github.io/manual/appconf.html
################################################################################
# Revel build section
# This section contains values that are not reloadable
################################################################################
# Comma delimited list of folders that are included with the package, or build commands
# If you want to not include folders within these ones prefix the folder with a . to make it hidden
package.folders = conf, public, app/views
# Revel reconfigurable section
#
################################################################################
# Sets `revel.AppName` for use in-app.
# Example:
# `if revel.AppName {...}`
app.name = Hermes
# A secret string which is passed to cryptographically sign the cookie to prevent
# (and detect) user modification.
# Keep this string secret or users will be able to inject arbitrary cookie values
# into your application
app.secret = OCwYWacSKgnxWBDsjECJwxFbLDqqLDFqVeTXFzBj9b7eMjQcRr70jqADvsQYmEta
# Revel running behind proxy like nginx, haproxy, etc.
app.behind.proxy = true
# The IP address on which to listen.
http.addr = 0.0.0.0
# The port on which to listen.
http.port = 9000
# Whether to use SSL or not.
http.ssl = false
# Path to an X509 certificate file, if using SSL.
#http.sslcert =
# Path to an X509 certificate key, if using SSL.
#http.sslkey =
# Timeout specifies a time limit for request (in seconds) made by a single client.
# A Timeout of zero means no timeout.
http.timeout.read = 90
http.timeout.write = 60
# For any cookies set by Revel (Session,Flash,Error) these properties will set
# the fields of:
# http://golang.org/pkg/net/http/#Cookie
#
# Each cookie set by Revel is prefixed with this string.
cookie.prefix = REVEL
# A secure cookie has the secure attribute enabled and is only used via HTTPS,
# ensuring that the cookie is always encrypted when transmitting from client to
# server. This makes the cookie less likely to be exposed to cookie theft via
# eavesdropping.
#
# Defaults to false. If 'http.ssl' is enabled, this will be defaulted to true.
# This should only be true when Revel is handling SSL connections. If you are
# using a proxy in front of revel (Nginx, Apache, etc), then this should be left
# as false.
# cookie.secure = false
# Limit cookie access to a given domain.
#cookie.domain =
# Define when your session cookie expires.
# Values:
# "720h"
# A time duration (http://golang.org/pkg/time/#ParseDuration) after which
# the cookie expires and the session is invalid.
# "session"
# Sets a session cookie which invalidates the session when the user close
# the browser.
session.expires = 720h
# The date format used by Revel. Possible formats defined by the Go `time`
# package (http://golang.org/pkg/time/#Parse)
format.date = 2006-01-02
format.datetime = 2006-01-02 15:04
# Determines whether the template rendering should use chunked encoding.
# Chunked encoding can decrease the time to first byte on the client side by
# sending data before the entire template has been fully rendered.
results.chunked = false
# Compression of your HTML and CSS files with gzip typically saves around
# fifty to seventy percent of the file size. This means that it takes less
# time to load your pages, and less bandwidth is used over all.
# To enable compression, set value to true.
results.compressed = false
# The default language of this application.
i18n.default_language = en
# The default format when message is missing.
# The original message shows in %s
#i18n.unknown_format = "??? %s ???"
# Module to serve static content such as CSS, JavaScript and Media files
# Allows Routes like this:
# `Static.ServeModule("modulename","public")`
module.static = github.com/revel/modules/static
################################################################################
# Section: dev
# This section is evaluated when running Revel in dev mode. Like so:
# `revel run path/to/myapp`
[dev]
# This sets `revel.DevMode` for use in-app.
# Example:
# `if revel.DevMode {...}`
# or in your templates with
# ``
# Values:
# "true"
# Sets `DevMode` to `true`.
# "false"
# Sets `DevMode` to `false`.
mode.dev = true
# Pretty print JSON/XML when calling RenderJSON/RenderXML
# Values:
# "true"
# Enables pretty printing.
# "false"
# Disables pretty printing.
results.pretty = true
# Watch your applicaton files for changes and automatically rebuild
# Values:
# "true"
# Enables auto rebuilding.
# "false"
# Disables auto rebuilding.
watch = true
# Define when to rebuild new changes.
# Values:
# "normal"
# Rebuild when a new request is received and changes have been detected.
# "eager"
# Rebuild as soon as changes are detected.
watch.mode = eager
# Watch the entire `$GOPATH` for changes.
# Values:
# "true"
# Includes `$GOPATH` in watch path.
# "false"
# Excludes `$GOPATH` from watch path. Default value.
#watch.gopath = true
# Module to run code tests in the browser
# See:
# http://revel.github.io/manual/testing.html
module.testrunner = github.com/revel/modules/testrunner
# Where to log the various Revel logs
# Values:
# "off"
# Disable log output.
# "stdout"
# Log to OS's standard output.
# "stderr"
# Log to Os's standard error output. Default value.
# "relative/path/to/log"
# Log to file.
log.all.filter.module.app = stdout # Log all loggers for the application to the stdout
log.error.nfilter.module.app = stderr # Everything else that logs an error to stderr
log.crit.output = stderr # Everything that logs something as critical goes to this
# Revel request access log
# Access log line format:
# INFO 21:53:55 static server-engine.go:169: Request Stats ip=127.0.0.1 path=/public/vendors/datatables.net-buttons/js/buttons.html5.min.js method=GET start=2017/08/31 21:53:55 status=200 duration_seconds=0.0002583 section=requestlog
log.request.output = stdout
################################################################################
# Section: prod
# This section is evaluated when running Revel in production mode. Like so:
# `revel run path/to/myapp prod`
# See:
# [dev] section for documentation of the various settings
[prod]
mode.dev = false
results.pretty = false
watch = false
module.testrunner =
log.warn.output = log/%(app.name)s-warn.json # Log all warn messages to file
log.error.output = log/%(app.name)s-error.json # Log all errors to file
log.crit.output = log/%(app.name)s-critical.json # Log all critical to file
# Revel request access log (json format)
# Example:
# log.request.output = %(app.name)s-request.json
log.request.output = log/%(app.name)s-requests.json

+ 25
- 0
conf/routes View File

@ -0,0 +1,25 @@
# Routes Config
#
# This file defines all application routes (Higher priority routes first)
#
module:testrunner
# module:jobs
GET / Hermes.Index
# Ignore favicon requests
GET /favicon.ico 404
GET /read/:user/:title/:recipient/:provided_hash/ Hermes.Read
# Catch all, this will route any request into the controller path
#
# **** WARNING ****
# Enabling this exposes any controller and function to the web.
# ** This is a serious security issue if used online **
#
# For rapid development uncomment the following to add new controller.action endpoints
# without having to add them to the routes table.
# * /:controller/:action :controller.:action

+ 23
- 0
go.mod View File

@ -0,0 +1,23 @@
module Hermes
go 1.15
require (
github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b // indirect
github.com/fsnotify/fsnotify v1.4.9 // indirect
github.com/garyburd/redigo v1.6.2 // indirect
github.com/go-stack/stack v1.8.0 // indirect
github.com/inconshreveable/log15 v0.0.0-20201112154412-8562bdadbbac // indirect
github.com/mattn/go-colorable v0.1.8 // indirect
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
github.com/revel/config v1.0.0 // indirect
github.com/revel/log15 v2.11.20+incompatible // indirect
github.com/revel/modules v1.0.0
github.com/revel/pathtree v0.0.0-20140121041023-41257a1839e9 // indirect
github.com/revel/revel v1.0.0
github.com/twinj/uuid v1.0.0 // indirect
github.com/xeonx/timeago v1.0.0-rc4 // indirect
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
gopkg.in/stack.v0 v0.0.0-20141108040640-9b43fcefddd0 // indirect
)

+ 116
- 0
go.sum View File

@ -0,0 +1,116 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/Knetic/govaluate v3.0.1-0.20171022003610-9aa49832a739+incompatible/go.mod h1:r7JcOSlj0wfOMncg0iLm8Leh48TZaKVeNIfJntJ2wa0=
github.com/Masterminds/squirrel v1.3.0/go.mod h1:yaPeOnPG5ZRwL9oKdTsO/prlkPbXWZlRVMQ/gGlzIuA=
github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b h1:L/QXpzIa3pOvUGt1D1lA5KjYhPBAN/3iWdP7xeFS9F0=
github.com/bradfitz/gomemcache v0.0.0-20190913173617-a41fca850d0b/go.mod h1:H0wQNHz2YrLsuXOZozoeDmnHXkNCRmMW0gwFWDfEZDA=
github.com/casbin/casbin v1.9.1/go.mod h1:z8uPsfBJGUsnkagrt3G8QvjgTKFMBJ32UP8HpZllfog=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/denisenkom/go-mssqldb v0.0.0-20191124224453-732737034ffd/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU=
github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0=
github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU=
github.com/flosch/pongo2 v0.0.0-20190707114632-bbf5a6c351f4/go.mod h1:T9YF2M40nIgbVgp3rreNmTged+9HrbNTIQf1PsaIiTA=
github.com/fsnotify/fsnotify v1.4.9 h1:hsms1Qyu0jgnwNXIxa+/V/PDsU6CfLf6CNO8H7IWoS4=
github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ=
github.com/garyburd/redigo v1.6.2 h1:yE/pwKCrbLpLpQICzYTeZ7JsTA/C53wFTJHaEtRqniM=
github.com/garyburd/redigo v1.6.2/go.mod h1:NR3MbYisc3/PwhQ00EMzDiPmrwpPxAn5GI05/YaO1SY=
github.com/go-check/check v0.0.0-20180628173108-788fd7840127/go.mod h1:9ES+weclKsC9YodN5RgxqK/VD9HM9JsCSh7rNhMZE98=
github.com/go-gorp/gorp v2.2.0+incompatible/go.mod h1:7IfkAQnO7jfT/9IQ3R9wL1dFhukN6aQxzKTHnkxzA/E=
github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w=
github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/inconshreveable/log15 v0.0.0-20200109203555-b30bc20e4fd1/go.mod h1:cOaXtrgN4ScfRrD9Bre7U1thNq5RtJ8ZoP4iXVGRj6o=
github.com/inconshreveable/log15 v0.0.0-20201112154412-8562bdadbbac h1:n1DqxAo4oWPMvH1+v+DLYlMCecgumhhgnxAPdqDIFHI=
github.com/inconshreveable/log15 v0.0.0-20201112154412-8562bdadbbac/go.mod h1:cOaXtrgN4ScfRrD9Bre7U1thNq5RtJ8ZoP4iXVGRj6o=
github.com/jinzhu/gorm v1.9.12/go.mod h1:vhTjlKSJUTWNtcbQtrMBFCxy7eXTzeCAzfL5fBZT/Qs=
github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc=
github.com/jinzhu/now v1.0.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8=
github.com/juju/errors v0.0.0-20181118221551-089d3ea4e4d5/go.mod h1:W54LbzXuIE0boCoNJfwqpmkKJ1O4TCTZMetAt6jGk7Q=
github.com/juju/loggo v0.0.0-20180524022052-584905176618/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U=
github.com/juju/testing v0.0.0-20180920084828-472a3e8b2073/go.mod h1:63prj8cnj0tU0S9OHjGJn+b1h0ZghCndfnbQolrYTwA=
github.com/klauspost/compress v1.10.4/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/lann/builder v0.0.0-20180802200727-47ae307949d0/go.mod h1:dXGbAdH5GtBTC4WfIxhKZfyBF/HBFgRZSWwZ9g/He9o=
github.com/lann/ps v0.0.0-20150810152359-62de8c46ede0/go.mod h1:vmVJ0l/dxyfGW6FmdpVm2joNMFikkuWg0EoCKLGUMNw=
github.com/lib/pq v1.1.1/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-colorable v0.1.8 h1:c1ghPdyEDarC70ftn0y+A/Ee++9zz8ljHG1b13eJ0s8=
github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE=
github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
github.com/mattn/go-sqlite3 v2.0.1+incompatible/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc=
github.com/mattn/goveralls v0.0.2/go.mod h1:8d1ZMHsd7fW6IRPKQh46F2WRpyib5/X4FOpevwGNQEw=
github.com/myesui/uuid v1.0.0/go.mod h1:2CDfNgU0LR8mIdO8vdWd8i9gWWxLlcoIGGpSNgafq84=
github.com/newrelic/go-agent v3.4.0+incompatible/go.mod h1:a8Fv1b/fYhFSReoTU6HDkTYIMZeSVNffmoS726Y0LzQ=
github.com/patrickmn/go-cache v1.0.0 h1:3gD5McaYs9CxjyK5AXGcq8gdeCARtd/9gJDUvVeaZ0Y=
github.com/patrickmn/go-cache v2.1.0+incompatible h1:HRMgzkcYKYpi3C8ajMPV8OFXaaRUnok+kx1WdO15EQc=
github.com/patrickmn/go-cache v2.1.0+incompatible/go.mod h1:3Qf8kWWT7OJRJbdiICTKqZju1ZixQ/KpMGzzAfe6+WQ=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/poy/onpar v0.0.0-20200406201722-06f95a1c68e8/go.mod h1:nSbFQvMj97ZyhFRSJYtut+msi4sOY6zJDGCdSc+/rZU=
github.com/revel/config v0.21.0/go.mod h1:GT4a9px5kDGRqLizcw/md0QFErrhen76toz4qS3oIoI=
github.com/revel/config v1.0.0 h1:UAzLPQ+x9nJeP6a+H93G+AKEosg3OO2oVLBXK9oSN2U=
github.com/revel/config v1.0.0/go.mod h1:GT4a9px5kDGRqLizcw/md0QFErrhen76toz4qS3oIoI=
github.com/revel/cron v0.21.0/go.mod h1:WrSp8p1H1IfOGumbbDGrGf8dZLjNSnGSnwxTj3nG80I=
github.com/revel/log15 v2.11.20+incompatible h1:JkA4tbwIo/UGEMumY50zndKq816RQW3LQ0wIpRc+32U=
github.com/revel/log15 v2.11.20+incompatible/go.mod h1:l0WmLRs+IM1hBl4noJiBc2tZQiOgZyXzS1mdmFt+5Gc=
github.com/revel/modules v1.0.0 h1:JrqUDCU7y8Qfxrk+XcvhTUq8fv0hfzTCHNFSWYpsFBg=
github.com/revel/modules v1.0.0/go.mod h1:wJwbm8ccPzf+a5LBv49x/6a0TdIqh/XVad8u6w+RW8E=
github.com/revel/pathtree v0.0.0-20140121041023-41257a1839e9 h1:/d6kfjzjyx19ieWqMOXHSTLFuRxLOH15ZubtcAXExKw=
github.com/revel/pathtree v0.0.0-20140121041023-41257a1839e9/go.mod h1:TmlwoRLDvgRjoTe6rbsxIaka/CulzYrgfef7iNJcEWY=
github.com/revel/revel v0.21.0/go.mod h1:VZWJnHjpDEtuGUuZJ2NO42XryitrtwsdVaJxfDeo5yc=
github.com/revel/revel v1.0.0 h1:BsPFnKuuzXEkPtrjdjZHiDcvDmbBiBQvh7Z5c6kLb/Y=
github.com/revel/revel v1.0.0/go.mod h1:VZWJnHjpDEtuGUuZJ2NO42XryitrtwsdVaJxfDeo5yc=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/twinj/uuid v1.0.0 h1:fzz7COZnDrXGTAOHGuUGYd6sG+JMq+AoE7+Jlu0przk=
github.com/twinj/uuid v1.0.0/go.mod h1:mMgcE1RHFUFqe5AfiwlINXisXfDGro23fWdPUfOMjRY=
github.com/tylerb/gls v0.0.0-20150407001822-e606233f194d/go.mod h1:0MwyId/pXK5wkYYEXe7NnVknX+aNBuF73fLV3U0reU8=
github.com/tylerb/is v2.1.4+incompatible/go.mod h1:3Bw2NWEEe8Kx7/etYqgm9ug53iNDgabnloch75jjOSc=
github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc=
github.com/valyala/fasthttp v1.12.0/go.mod h1:229t1eWu9UXTPmoUkbpN/fctKPBY4IJoFXQnxHGXy6E=
github.com/valyala/tcplisten v0.0.0-20161114210144-ceec8f93295a/go.mod h1:v3UYOV9WzVtRmSR+PDvWpU/qWl4Wa5LApYYX4ZtKbio=
github.com/xeonx/timeago v1.0.0-rc4 h1:9rRzv48GlJC0vm+iBpLcWAr8YbETyN9Vij+7h2ammz4=
github.com/xeonx/timeago v1.0.0-rc4/go.mod h1:qDLrYEFynLO7y5Ho7w3GwgtYgpy5UfhcXIIQvMKVDkA=
github.com/yosssi/ace v0.0.5/go.mod h1:ALfIzm2vT7t5ZE7uoIZqF3TQ7SAOyupFZnkrF5id+K0=
github.com/ziutek/mymysql v1.5.4/go.mod h1:LMSpPZ6DbqWFxNCHW77HeMg9I646SAhApZ/wKdgO/C0=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191205180655-e7c4368fe9dd/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200429183012-4b2356b1ed79/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f h1:+Nyd8tzPX9R7BWHguqsrbFdRx3WQ/1ib8I44HXV5yTA=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20181221001348-537d06c36207/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/fsnotify/fsnotify.v1 v1.4.7/go.mod h1:Fyux9zXlo4rWoMSIzpn9fDAYjalPqJ/K1qJ27s+7ltE=
gopkg.in/mgo.v2 v2.0.0-20180705113604-9856a29383ce/go.mod h1:yeKp02qBN3iKW1OzL3MGk2IdtZzaj7SFntXj72NppTA=
gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
gopkg.in/natefinch/lumberjack.v2 v2.0.0/go.mod h1:l0ndWWf7gzL7RNwBG7wST/UCcT4T24xpD6X8LsfU/+k=
gopkg.in/stack.v0 v0.0.0-20141108040640-9b43fcefddd0 h1:lMH45EKqD8Nf6LwoF+43YOKjOAEEHQRVgDyG8RCV4MU=
gopkg.in/stack.v0 v0.0.0-20141108040640-9b43fcefddd0/go.mod h1:kl/bNzW/jgTgUOCGDj3XPn9/Hbfhw6pjfBRUnaTioFQ=
gopkg.in/stretchr/testify.v1 v1.2.2/go.mod h1:QI5V/q6UbPmuhtm10CaFZxED9NreB8PnFYN9JcR6TxU=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

+ 8
- 0
messages/sample.en View File

@ -0,0 +1,8 @@
# Sample messages file for the English language (en)
# Message file extensions should be ISO 639-1 codes (http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes)
# Sections within each message file can optionally override the defaults using ISO 3166-1 alpha-2 codes (http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)
# See also:
# - http://www.rfc-editor.org/rfc/bcp/bcp47.txt
# - http://www.w3.org/International/questions/qa-accept-lang-locales
[DEFAULT]

+ 39
- 0
none View File

@ -0,0 +1,39 @@
INFO 2020/11/18 15:17:23 revel revel.go:124: Paths base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0
INFO 2020/11/18 15:19:05 revel revel.go:124: Paths base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0
INFO 2020/11/18 15:24:54 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 15:32:17 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 16:00:07 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 16:29:28 revel revel.go:124: Paths views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app
INFO 2020/11/18 16:31:03 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 16:32:24 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 16:32:37 revel revel.go:124: Paths base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0
INFO 2020/11/18 16:35:44 revel revel.go:124: Paths app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes
INFO 2020/11/18 16:36:23 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 16:37:04 revel revel.go:124: Paths app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes
INFO 2020/11/18 16:38:36 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 16:43:03 revel revel.go:124: Paths app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes
INFO 2020/11/18 16:58:35 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 16:59:10 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:03:40 revel revel.go:124: Paths views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app
INFO 2020/11/18 17:04:56 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:06:26 revel revel.go:124: Paths base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0
INFO 2020/11/18 17:07:01 revel revel.go:124: Paths views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app
INFO 2020/11/18 17:07:50 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:08:48 revel revel.go:124: Paths views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app
INFO 2020/11/18 17:09:22 revel revel.go:124: Paths base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0
INFO 2020/11/18 17:09:25 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:10:09 revel revel.go:124: Paths base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0
INFO 2020/11/18 17:11:52 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:12:31 revel revel.go:124: Paths base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0
INFO 2020/11/18 17:14:00 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:14:26 revel revel.go:124: Paths views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app
INFO 2020/11/18 17:15:07 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:15:56 revel revel.go:124: Paths base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0
INFO 2020/11/18 17:17:52 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:25:05 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:25:41 revel revel.go:124: Paths base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0
INFO 2020/11/18 17:26:18 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:29:33 revel revel.go:124: Paths views=/home/yigit/Projects/Hermes/app/views revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app
INFO 2020/11/18 17:32:59 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:33:27 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views
INFO 2020/11/18 17:58:27 revel revel.go:124: Paths revel=/home/yigit/go/pkg/mod/github.com/revel/revel@v1.0.0 base=/home/yigit/Projects/Hermes app=/home/yigit/Projects/Hermes/app views=/home/yigit/Projects/Hermes/app/views

+ 5
- 0
public/css/bootstrap-3.3.6.min.css
File diff suppressed because it is too large
View File


BIN
public/fonts/glyphicons-halflings-regular.ttf View File


BIN
public/fonts/glyphicons-halflings-regular.woff View File


BIN
public/fonts/glyphicons-halflings-regular.woff2 View File


BIN
public/img/favicon.png View File

Before After
Width: 48  |  Height: 48  |  Size: 5.5 KiB

+ 7
- 0
public/js/bootstrap-3.3.6.min.js
File diff suppressed because it is too large
View File


+ 4
- 0
public/js/jquery-2.2.4.min.js
File diff suppressed because it is too large
View File


BIN
target/app/Hermes/Hermes View File


+ 23
- 0
tests/apptest.go View File

@ -0,0 +1,23 @@
package tests
import (
"github.com/revel/revel/testing"
)
type AppTest struct {
testing.TestSuite
}
func (t *AppTest) Before() {
println("Set up")
}
func (t *AppTest) TestThatIndexPageWorks() {
t.Get("/")
t.AssertOk()
t.AssertContentType("text/html; charset=utf-8")
}
func (t *AppTest) After() {
println("Tear down")
}

Loading…
Cancel
Save