github.com/10XDev/rclone@v1.52.3-0.20200626220027-16af9ab76b2a/cmd/serve/proxy/proxy_code.go (about)

     1  // +build ignore
     2  
     3  // A simple auth proxy for testing purposes
     4  package main
     5  
     6  import (
     7  	"encoding/json"
     8  	"log"
     9  	"os"
    10  )
    11  
    12  func main() {
    13  	// Read the input
    14  	var in map[string]string
    15  	err := json.NewDecoder(os.Stdin).Decode(&in)
    16  	if err != nil {
    17  		log.Fatal(err)
    18  	}
    19  
    20  	// Write the output
    21  	var out = map[string]string{}
    22  	for k, v := range in {
    23  		switch k {
    24  		case "user":
    25  			v += "-test"
    26  		case "error":
    27  			log.Fatal(v)
    28  		}
    29  		out[k] = v
    30  	}
    31  	if out["type"] == "" {
    32  		out["type"] = "local"
    33  	}
    34  	if out["_root"] == "" {
    35  		out["_root"] = ""
    36  	}
    37  	json.NewEncoder(os.Stdout).Encode(&out)
    38  	if err != nil {
    39  		log.Fatal(err)
    40  	}
    41  }