commit 996072d9c335542cda7ac389f732a4ec6873ff79
Author: David Fifield <[email protected]>
Date:   Sun Nov 25 19:03:39 2012 -0800

    Factor out abort on missing environment variable.
---
 websocket-transport/pt.go |   17 +++++++++++------
 1 files changed, 11 insertions(+), 6 deletions(-)

diff --git a/websocket-transport/pt.go b/websocket-transport/pt.go
index c3fc2cb..686cc76 100644
--- a/websocket-transport/pt.go
+++ b/websocket-transport/pt.go
@@ -8,6 +8,15 @@ import (
        "strings"
 )
 
+// Abort with an ENV-ERROR if the environment variable isn't set.
+func getenvRequired(key string) string {
+       value := os.Getenv(key)
+       if value == "" {
+               ptEnvError(fmt.Sprintf("no %s environment variable", key))
+       }
+       return value
+}
+
 // Escape a string so it contains no byte values over 127 and doesn't contain
 // any of the characters '\x00', '\n', or '\\'.
 func escape(s string) string {
@@ -52,7 +61,7 @@ func ptCmethodError(methodName, msg string) {
 
 func ptGetManagedTransportVer() string {
        const transportVersion = "1"
-       for _, offered := range 
strings.Split(os.Getenv("TOR_PT_MANAGED_TRANSPORT_VER"), ",") {
+       for _, offered := range 
strings.Split(getenvRequired("TOR_PT_MANAGED_TRANSPORT_VER"), ",") {
                if offered == transportVersion {
                        return offered
                }
@@ -61,14 +70,10 @@ func ptGetManagedTransportVer() string {
 }
 
 func ptGetClientTransports(supported []string) []string {
-       clientTransports := os.Getenv("TOR_PT_CLIENT_TRANSPORTS")
-       if clientTransports == "" {
-               ptEnvError("no TOR_PT_CLIENT_TRANSPORTS environment variable")
-       }
+       clientTransports := getenvRequired("TOR_PT_CLIENT_TRANSPORTS")
        if clientTransports == "*" {
                return supported
        }
-
        result := make([]string, 0)
        for _, requested := range strings.Split(clientTransports, ",") {
                for _, methodName := range supported {



_______________________________________________
tor-commits mailing list
[email protected]
https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-commits

Reply via email to