本文整理汇总了Golang中mig/ninja/mig/client.Client.GetManifestRecord方法的典型用法代码示例。如果您正苦于以下问题:Golang Client.GetManifestRecord方法的具体用法?Golang Client.GetManifestRecord怎么用?Golang Client.GetManifestRecord使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类mig/ninja/mig/client.Client
的用法示例。
在下文中一共展示了Client.GetManifestRecord方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: manifestReader
// manifestReader is used to manipulate API manifests
func manifestReader(input string, cli client.Client) (err error) {
defer func() {
if e := recover(); e != nil {
err = fmt.Errorf("manifestReader() -> %v", e)
}
}()
inputArr := strings.Split(input, " ")
if len(inputArr) < 2 {
panic("wrong order format. must be 'manifest <manifestid>'")
}
mid, err := strconv.ParseFloat(inputArr[1], 64)
if err != nil {
panic(err)
}
mr, err := cli.GetManifestRecord(mid)
if err != nil {
panic(err)
}
fmt.Println("Entering manifest reader mode. Type \x1b[32;1mexit\x1b[0m or press \x1b[32;1mctrl+d\x1b[0m to leave. \x1b[32;1mhelp\x1b[0m may help.")
fmt.Printf("Manifest: '%s'.\nStatus '%s'.\n", mr.Name, mr.Status)
prompt := fmt.Sprintf("\x1b[31;1mmanifest %d>\x1b[0m ", uint64(mid)%1000)
for {
var symbols = []string{"disable", "entry", "exit", "help", "json", "r", "reset", "sign"}
readline.Completer = func(query, ctx string) []string {
var res []string
for _, sym := range symbols {
if strings.HasPrefix(sym, query) {
res = append(res, sym)
}
}
return res
}
input, err := readline.String(prompt)
if err == io.EOF {
break
}
if err != nil {
fmt.Println("error: ", err)
break
}
orders := strings.Split(strings.TrimSpace(input), " ")
switch orders[0] {
case "disable":
err = cli.ManifestRecordStatus(mr, "disabled")
if err != nil {
panic(err)
}
fmt.Println("Manifest record has been disabled")
case "entry":
mre, err := mr.ManifestResponse()
if err != nil {
panic(err)
}
buf, err := json.MarshalIndent(mre, "", " ")
if err != nil {
panic(err)
}
fmt.Printf("%s\n", buf)
case "help":
fmt.Printf(`The following orders are avialable:
disable disables manifest and prevents future use
entry show the manifest for this record as would be sent to a loader
help show this help
exit exit this mode (also works with ctrl+d)
json show json of manifest record stored in database
loaders show known loader entries that will match this manifest
r refresh the manifest (get latest version from database)
reset reset manifest status (marks manifest as staged, removes signatures)
sign add a signature to the manifest record
`)
case "exit":
fmt.Printf("exit\n")
goto exit
case "json":
tmpmr := mr
if len(tmpmr.Content) > 0 {
tmpmr.Content = "..."
} else {
tmpmr.Content = "None"
}
jsonmr, err := json.MarshalIndent(tmpmr, "", " ")
if err != nil {
panic(err)
}
fmt.Printf("%s\n", jsonmr)
case "loaders":
ldrs, err := cli.GetManifestLoaders(mid)
if err != nil {
//.........这里部分代码省略.........