@ -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") | |||
} |