@ -0,0 +1,4 @@ | |||||
test-results/ | |||||
storage/ | |||||
tmp/ | |||||
routes/ |
@ -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 | |||||
@ -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). | |||||
@ -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") | |||||
} |
@ -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 | |||||
// } | |||||
//} |
@ -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" .}} |
@ -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> |
@ -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> |
@ -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> |
@ -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}} |
@ -0,0 +1,5 @@ | |||||
{{if .DevMode}} | |||||
{{template "debug.html" .}} | |||||
{{end}} | |||||
</body> | |||||
</html> |
@ -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> |
@ -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 |
@ -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 |
@ -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 | |||||
) |
@ -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= |
@ -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] | |||||
@ -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 |
@ -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") | |||||
} |