github.com/vchain-us/vcn@v0.9.11-0.20210921212052-a2484d23c0b3/pkg/cmd/serve/inspect.go (about) 1 /* 2 * Copyright (c) 2018-2020 vChain, Inc. All Rights Reserved. 3 * This software is released under GPL3. 4 * The full license information can be found under: 5 * https://www.gnu.org/licenses/gpl-3.0.en.html 6 * 7 */ 8 9 package serve 10 11 import ( 12 i "github.com/vchain-us/vcn/pkg/cmd/inspect" 13 "net/http" 14 "strings" 15 16 "github.com/gorilla/mux" 17 ) 18 19 func (sh *handler) inspectHandler(w http.ResponseWriter, r *http.Request) { 20 vars := mux.Vars(r) 21 hash := strings.ToLower(vars["hash"]) 22 var signerID string 23 keys, ok := r.URL.Query()["signerid"] 24 25 if ok && len(keys[0]) > 0 { 26 signerID = keys[0] 27 } 28 29 if sh.lcHost != "" && sh.lcPort != "" { 30 // todo @Michele move getLcUser in handler sh constructor 31 user, err := getLcUser(r, sh.lcHost, sh.lcPort, sh.lcCert, sh.lcSkipTlsVerify, sh.lcNoTls) 32 if err != nil { 33 writeError(w, http.StatusBadGateway, err) 34 return 35 } 36 lcInspect(user, hash, signerID, w) 37 return 38 } 39 40 user, _, err := getCredential(r) 41 if err != nil { 42 writeError(w, http.StatusBadRequest, err) 43 return 44 } 45 46 results, err := i.GetResults(hash, user) 47 48 writeResults(w, http.StatusOK, results) 49 }