当前位置: 首页>>代码示例>>Golang>>正文


Golang CurlOptions.Init方法代码示例

本文整理汇总了Golang中github.com/shibukawa/curl_as_dsl/common.CurlOptions.Init方法的典型用法代码示例。如果您正苦于以下问题:Golang CurlOptions.Init方法的具体用法?Golang CurlOptions.Init怎么用?Golang CurlOptions.Init使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/shibukawa/curl_as_dsl/common.CurlOptions的用法示例。


在下文中一共展示了CurlOptions.Init方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: main

func main() {
	var globalOptions GlobalOptions
	var curlOptions common.CurlOptions
	curlOptions.Init()

	parser := flags.NewParser(&globalOptions, flags.Default)
	curlCommand, err := parser.AddCommand("curl",
		"Generate code from curl options",
		"This command has almost same options of curl and generate code",
		&curlOptions)
	urls, err := parser.Parse()
	if err != nil {
		os.Exit(1)
	}
	if len(urls) > 1 {
		fmt.Println("It accept only one url. Remained urls are ignored.")
	}
	if parser.Active == curlCommand {
		// --url option has higher priority than params.
		if curlOptions.Url == "" {
			if len(urls) > 0 {
				curlOptions.Url = urls[0]
			} else {
				log.Fatalln("Both --url option and url parameters are missing")
			}
		}
		sourceCode, langName, templateName, option := generator.GenerateCode(globalOptions.Target, &curlOptions)
		if templateName != "" {
			if globalOptions.Debug {
				st := reflect.TypeOf(option)
				v := reflect.ValueOf(option)
				fmt.Fprintf(os.Stderr, "Debug: template name=%s_%s\n", langName, templateName)
				fmt.Fprintf(os.Stderr, "Debug: template context=%s\n", st.Name())
				num := st.NumField()
				for i := 0; i < num; i++ {
					fmt.Fprintf(os.Stderr, "    %s: %s\n", st.Field(i).Name, v.Field(i).String())
				}
			}
			fmt.Println(sourceCode)
		} else {
			PrintLangHelp(globalOptions.Target)
			os.Exit(1)
		}
	}
}
开发者ID:spiegel-im-spiegel,项目名称:curl_as_dsl,代码行数:45,代码来源:httpgen.go

示例2: GenerateCode

func GenerateCode(target, options string) (string, string) {
	var globalOptions GlobalOptions
	var curlOptions common.CurlOptions
	curlOptions.Init()

	parser := flags.NewParser(&globalOptions, flags.Default)
	curlCommand, err := parser.AddCommand("curl",
		"Generate code from curl options",
		"This command has almost same options of curl and generate code",
		&curlOptions)

	if !strings.HasPrefix(options, "curl ") {
		options = "curl " + options
	}
	args := shell.Parse(options)

	urls, err := parser.ParseArgs(args)
	if err != nil {
		console.Log(err)
		return "", err.Error()
	}
	if len(urls) > 1 {
		return "", "It accept only one url. Remained urls are ignored:" + strings.Join(urls, ", ")
	}
	if parser.Active == curlCommand {
		// --url option has higher priority than params.
		if curlOptions.Url == "" {
			if len(urls) > 0 {
				curlOptions.Url = urls[0]
			} else {
				console.Error("Both --url option and url parameters are missing")
				return "", "Both --url option and url parameters are missing"
			}
		}
		sourceCode, _, _, _ := generator.GenerateCode(target, &curlOptions)
		return html.EscapeString(sourceCode), ""
	}
	return "", ""
}
开发者ID:spiegel-im-spiegel,项目名称:curl_as_dsl,代码行数:39,代码来源:main.go


注:本文中的github.com/shibukawa/curl_as_dsl/common.CurlOptions.Init方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。