devsrvr / config.go

package main

import (

// data type for config information
type Config struct {
	DevServerAddress string
	AppAddress       string
	App              string
	CrashTimeout     time.Duration
	StartupTime      time.Duration
	LogFile          string

// load a json config file with details about the app we're running
func LoadConfig(configpath string) *Config {
	b, err := ioutil.ReadFile(path.Join(configpath, "app.json"))
	if err != nil {

	// config file defaults, overwritten by anything in the real file
	conf := &Config{
		"", // DevServerAddress
		"", // AppAddress
		"",               // App
		100000000,        // CrashTimeout
		time.Second / 2,  // StartupTime
		"",               // LogFile

	if err = json.Unmarshal(b, &conf); err != nil {
		log.Fatal("ReadFile: ", err.Error())

	if conf.App == "" {
		log.Fatal("must include 'App' in your app.json")

	return conf
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.