Module com.github.alexdlaird.ngrok
Class NgrokInstaller
- java.lang.Object
-
- com.github.alexdlaird.ngrok.installer.NgrokInstaller
-
public class NgrokInstaller extends java.lang.ObjectA helper for downloading and installing thengrokfor the current system.Config File
By default,ngrokwill look for its config file in the home directory’s.ngrok2folder. We can override this behavior withJavaNgrokConfig.Builder.withConfigPath(Path).Binary Path
Thejava-ngrokpackage manages its ownngrokbinary. We can use ourngrokbinary if we want by setting it withJavaNgrokConfig.Builder.withNgrokPath(Path)and passing that config toNgrokClient.
-
-
Field Summary
Fields Modifier and Type Field Description static java.nio.file.PathDEFAULT_CONFIG_PATHstatic java.nio.file.PathDEFAULT_NGROK_PATHstatic java.lang.StringFREEBSDstatic java.lang.StringLINUXstatic java.lang.StringMACstatic java.util.List<java.lang.String>UNIX_BINARIESstatic java.lang.StringWINDOWS
-
Constructor Summary
Constructors Constructor Description NgrokInstaller()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<java.lang.String,java.lang.Object>getDefaultConfig(NgrokVersion ngrokVersion)Get the default config params for the given major version ofngrok.static java.lang.StringgetNgrokBin()Get thengrokexecutable for the current system.NgrokCDNUrlgetNgrokCDNUrl()SeegetNgrokCDNUrl().NgrokCDNUrlgetNgrokCDNUrl(NgrokVersion ngrokVersion)Determine thengrokCDN URL for the current OS and architecture.java.util.Map<java.lang.String,java.lang.Object>getNgrokConfig(java.nio.file.Path configPath)java.util.Map<java.lang.String,java.lang.Object>getNgrokConfig(java.nio.file.Path configPath, boolean useCache)java.util.Map<java.lang.String,java.lang.Object>getNgrokConfig(java.nio.file.Path configPath, boolean useCache, NgrokVersion ngrokVersion)Get thengrokconfig from the given path.static java.lang.StringgetSystem()Parse the name fo the OS from system properties and return a friendly name.voidinstallDefaultConfig(java.nio.file.Path configPath, java.util.Map<java.lang.String,java.lang.Object> data)voidinstallDefaultConfig(java.nio.file.Path configPath, java.util.Map<java.lang.String,java.lang.Object> data, NgrokVersion ngrokVersion)Install the defaultngrokconfig.voidinstallNgrok(java.nio.file.Path ngrokPath)voidinstallNgrok(java.nio.file.Path ngrokPath, NgrokVersion ngrokVersion)Download and install the latestngrokfor the current system, overwriting any existing contents at the given path.voidvalidateConfig(java.nio.file.Path configPath)Validate that the config file at the given path is valid forngrokandjava-ngrok.voidvalidateConfig(java.util.Map<java.lang.String,java.lang.Object> data)Validate that the given map of config items are valid forngrokandjava-ngrok.
-
-
-
Field Detail
-
MAC
public static final java.lang.String MAC
- See Also:
- Constant Field Values
-
WINDOWS
public static final java.lang.String WINDOWS
- See Also:
- Constant Field Values
-
LINUX
public static final java.lang.String LINUX
- See Also:
- Constant Field Values
-
FREEBSD
public static final java.lang.String FREEBSD
- See Also:
- Constant Field Values
-
UNIX_BINARIES
public static final java.util.List<java.lang.String> UNIX_BINARIES
-
DEFAULT_NGROK_PATH
public static final java.nio.file.Path DEFAULT_NGROK_PATH
-
DEFAULT_CONFIG_PATH
public static final java.nio.file.Path DEFAULT_CONFIG_PATH
-
-
Method Detail
-
getNgrokBin
public static java.lang.String getNgrokBin()
Get thengrokexecutable for the current system.- Returns:
- The name of the
ngrokexecutable.
-
installDefaultConfig
public void installDefaultConfig(java.nio.file.Path configPath, java.util.Map<java.lang.String,java.lang.Object> data)
-
installDefaultConfig
public void installDefaultConfig(java.nio.file.Path configPath, java.util.Map<java.lang.String,java.lang.Object> data, NgrokVersion ngrokVersion)Install the defaultngrokconfig. If a config is not already present for the given path, create one.- Parameters:
configPath- The path to where thengrokconfig should be installed.data- A map of things to add to the default config.
-
installNgrok
public void installNgrok(java.nio.file.Path ngrokPath)
-
installNgrok
public void installNgrok(java.nio.file.Path ngrokPath, NgrokVersion ngrokVersion)Download and install the latestngrokfor the current system, overwriting any existing contents at the given path.- Parameters:
ngrokPath- The path to where thengrokbinary will be downloaded.ngrokVersion- The majorngrokversion to install.
-
getNgrokCDNUrl
public NgrokCDNUrl getNgrokCDNUrl()
SeegetNgrokCDNUrl().
-
getNgrokCDNUrl
public NgrokCDNUrl getNgrokCDNUrl(NgrokVersion ngrokVersion)
Determine thengrokCDN URL for the current OS and architecture.- Parameters:
ngrokVersion- The major version ofngrokto install.- Returns:
- The
ngrokCDN URL.
-
validateConfig
public void validateConfig(java.nio.file.Path configPath)
Validate that the config file at the given path is valid forngrokandjava-ngrok.- Parameters:
configPath- The config path to validate.
-
validateConfig
public void validateConfig(java.util.Map<java.lang.String,java.lang.Object> data)
Validate that the given map of config items are valid forngrokandjava-ngrok.- Parameters:
data- A map of things to be validated as config items.
-
getSystem
public static java.lang.String getSystem()
Parse the name fo the OS from system properties and return a friendly name.- Returns:
- The friendly name of the OS.
-
getNgrokConfig
public java.util.Map<java.lang.String,java.lang.Object> getNgrokConfig(java.nio.file.Path configPath, boolean useCache, NgrokVersion ngrokVersion)Get thengrokconfig from the given path.- Parameters:
configPath- Thengrokconfig path to read.useCache- Use the cached version of the config (if populated).- Returns:
- A map of the
ngrokconfig.
-
getDefaultConfig
public java.util.Map<java.lang.String,java.lang.Object> getDefaultConfig(NgrokVersion ngrokVersion)
Get the default config params for the given major version ofngrok.- Parameters:
ngrokVersion- The major version ofngrokinstalled.- Returns:
- The default config.
-
getNgrokConfig
public java.util.Map<java.lang.String,java.lang.Object> getNgrokConfig(java.nio.file.Path configPath)
-
getNgrokConfig
public java.util.Map<java.lang.String,java.lang.Object> getNgrokConfig(java.nio.file.Path configPath, boolean useCache)
-
-