Keeth
Keeth

Reputation: 2100

Grails access current environment from within config.groovy

Using the Grails OAuth plugin requires that an absolute callback URL be provided in Config.groovy. However I have different serverURLs for each environment.

Is there a way to get the current environment from inside Config.groovy, here's an example of what I want to do:

def devServerUrl = 'http://dev.example.com'
def prodServerUrl = 'http://prod.example.com'
def currentServerUrl = grailsApplication.metadata.environment == 'development' ? devServerUrl : prodServerUrl;

environments {
    development {
        grails {
            serverURL = devServerUrl
        }
    }
    production {
        grails {
            serverURL = prodServerUrl
        }
    }
}

oauth {
    providers {
        runkeeper {
            api = RunKeeperApi
            key = 'key'
            secret = 'secret'
            callback = currentServerUrl + '/oauth/runkeeper/callback'
        }
    }
}

Any ideas? Thanks!

Upvotes: 2

Views: 4106

Answers (2)

maryokhin
maryokhin

Reputation: 1058

I think it is cleaner to set different grails.serverURL for each environment and then do:

callback = "${grails.serverURL}/oauth/runkeeper/callback"

Upvotes: 0

harp seal pup
harp seal pup

Reputation: 504

Try this:

def currentServerUrl = Environment.current.name == 'development' ? devServerUrl : prodServerUrl;

Upvotes: 6

Related Questions