本文整理汇总了Golang中github.com/go-swagger/go-swagger/spec.New函数的典型用法代码示例。如果您正苦于以下问题:Golang New函数的具体用法?Golang New怎么用?Golang New使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了New函数的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: main
func main() {
swaggerSpec, err := spec.New(restapi.SwaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
api := operations.NewTodoListAPI(swaggerSpec)
server := restapi.NewServer(api)
defer server.Shutdown()
parser := flags.NewParser(server, flags.Default)
parser.ShortDescription = `Simple To Do List API`
parser.LongDescription = swaggerSpec.Spec().Info.Description
for _, optsGroup := range api.CommandLineOptionsGroups {
parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options)
}
if _, err := parser.Parse(); err != nil {
log.Fatalln(err)
}
if err := server.Serve(); err != nil {
log.Fatalln(err)
}
}
开发者ID:jak-atx,项目名称:vic,代码行数:26,代码来源:main.go
示例2: main
func main() {
swaggerSpec, err := spec.New(swaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
port := os.Getenv("PORT")
if port == "" {
port = "0"
}
host := os.Getenv("HOST")
if host == "" {
host = "localhost"
}
api := operations.NewEventListAPI(swaggerSpec)
configureAPI(api)
listener, err := net.Listen("tcp", host+":"+port)
if err != nil {
log.Fatalln(err)
}
fmt.Printf("serving event list at http://%s\n", listener.Addr())
if err := http.Serve(listener, api.Serve()); err != nil {
log.Fatalln(err)
}
}
开发者ID:tgzzzH,项目名称:go-swagger,代码行数:30,代码来源:main.go
示例3: main
func main() {
swaggerSpec, err := spec.New(restapi.SwaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
api := operations.NewPetstoreAPI(swaggerSpec)
server := restapi.NewServer(api)
defer server.Shutdown()
parser := flags.NewParser(server, flags.Default)
parser.ShortDescription = `Swagger Petstore`
parser.LongDescription = `This is a sample server Petstore server.
[Learn about Swagger](http://swagger.wordnik.com) or join the IRC channel '#swagger' on irc.freenode.net.
For this sample, you can use the api key 'special-key' to test the authorization filters
`
for _, optsGroup := range api.CommandLineOptionsGroups {
parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options)
}
if _, err := parser.Parse(); err != nil {
log.Fatalln(err)
}
if err := server.Serve(); err != nil {
log.Fatalln(err)
}
}
开发者ID:jak-atx,项目名称:vic,代码行数:31,代码来源:main.go
示例4: Generate
func (s *Schema) Generate(indent bool, valid bool) []byte {
var (
j []byte
err error
)
if indent {
j, err = json.MarshalIndent(s, "", " ")
} else {
j, err = json.Marshal(s)
}
if err != nil {
s.AddError(err)
return nil
}
if valid {
doc, err := spec.New(j, "")
if err != nil {
s.AddError(err)
return nil
}
result := validate.Spec(doc, strfmt.Default)
if result != nil {
for _, desc := range result.(*swaggererrors.CompositeError).Errors {
s.AddError(fmt.Errorf("The swagger spec is invalid against swagger specification %s. %s", doc.Version(), desc.Error()))
}
return nil
}
}
return j
}
开发者ID:jacobmoe,项目名称:swagger,代码行数:30,代码来源:schema.go
示例5: main
func main() {
swaggerSpec, err := spec.New(SwaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
parser := flags.NewParser(&opts, flags.Default)
parser.ShortDescription = swaggerSpec.Spec().Info.Title
parser.LongDescription = swaggerSpec.Spec().Info.Description
if _, err := parser.Parse(); err != nil {
os.Exit(1)
}
api := operations.NewTodoListAPI(swaggerSpec)
handler := configureAPI(api)
httpServer := &graceful.Server{Server: new(http.Server)}
httpServer.Handler = handler
listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", opts.Host, opts.Port))
if err != nil {
log.Fatalln(err)
}
fmt.Printf("serving todo list at http://%s\n", listener.Addr())
if err := httpServer.Serve(tcpKeepAliveListener{listener.(*net.TCPListener)}); err != nil {
log.Fatalln(err)
}
}
开发者ID:MStoykov,项目名称:go-swagger,代码行数:31,代码来源:main.go
示例6: validateSwagger
// validateSwagger validates that the given swagger object represents a valid Swagger spec.
func validateSwagger(swagger *genswagger.Swagger) {
b, err := json.Marshal(swagger)
Ω(err).ShouldNot(HaveOccurred())
doc, err := spec.New(b, "")
Ω(err).ShouldNot(HaveOccurred())
Ω(doc).ShouldNot(BeNil())
}
开发者ID:stuartweir,项目名称:goa,代码行数:8,代码来源:swagger_test.go
示例7: SetupConfig
func SetupConfig() {
var conf goStashRestClientConfig
ParseJsonFileStripComments("./config.json", &conf)
validateRequiredField("host", &conf.Host)
validateRequiredField("username", &conf.Username)
if &conf.Password == nil || len(conf.Password) == 0 {
fmt.Printf("Enter your password for %s: ", conf.Username)
bytePassword, err := terminal.ReadPassword(0)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
fmt.Println()
conf.Password = string(bytePassword)
}
validateRequiredField("password", &conf.Password)
doc, err := spec.New(apiclient.SwaggerJSON, "")
if err != nil {
panic(err)
}
transport := httptransport.New(doc)
transport.Host = conf.Host
fmt.Println("using host", conf.Host)
// Helpful to debug
// transport.Debug = true
// Assumes basic auth. TODO enable the config.json to take different mechanisms, OR integrate with swagger spec file what it says is supported.
transport.DefaultAuthentication = httptransport.BasicAuth(conf.Username, conf.Password)
apiclient.Default.SetTransport(transport)
}
开发者ID:jawspeak,项目名称:go-stash-restclient,代码行数:33,代码来源:config.go
示例8: main
func main() {
swaggerSpec, err := spec.New(restapi.SwaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
api := operations.NewTaskTrackerAPI(swaggerSpec)
server := restapi.NewServer(api)
defer server.Shutdown()
parser := flags.NewParser(server, flags.Default)
parser.ShortDescription = `Issue Tracker API`
parser.LongDescription = `This application implements a very simple issue tracker.
It's implemented as an API which is described by this swagger spec document.
The go-swagger project uses this specification to test the code generation.
This document contains all possible values for a swagger definition.
This means that it exercises the framework relatively well.
`
for _, optsGroup := range api.CommandLineOptionsGroups {
parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options)
}
if _, err := parser.Parse(); err != nil {
log.Fatalln(err)
}
if err := server.Serve(); err != nil {
log.Fatalln(err)
}
}
开发者ID:vmware,项目名称:vic,代码行数:32,代码来源:main.go
示例9: main
func main() {
swaggerSpec, err := spec.New(restapi.SwaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
api := operations.NewTodoListAPI(swaggerSpec)
server := restapi.NewServer(api)
defer server.Shutdown()
parser := flags.NewParser(server, flags.Default)
parser.ShortDescription = `A To Do list application`
parser.LongDescription = `The product of a tutorial on goswagger.io`
for _, optsGroup := range api.CommandLineOptionsGroups {
parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options)
}
if _, err := parser.Parse(); err != nil {
log.Fatalln(err)
}
if err := server.Serve(); err != nil {
log.Fatalln(err)
}
}
开发者ID:jak-atx,项目名称:vic,代码行数:26,代码来源:main.go
示例10: main
func main() {
swaggerSpec, err := spec.New(SwaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
parser := flags.NewParser(&opts, flags.Default)
parser.ShortDescription = swaggerSpec.Spec().Info.Title
parser.LongDescription = swaggerSpec.Spec().Info.Description
if _, err := parser.Parse(); err != nil {
os.Exit(1)
}
api := operations.NewSimpleToDoListAPI(swaggerSpec)
handler := configureAPI(api)
httpServer := &graceful.Server{Server: new(http.Server)}
httpServer.Handler = handler
listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", opts.Host, opts.Port))
if err != nil {
log.Fatalln(err)
}
fmt.Printf("serving simple to do list at http://%s\n", listener.Addr())
go func() {
if err := httpServer.Serve(tcpKeepAliveListener{listener.(*net.TCPListener)}); err != nil {
log.Fatalln(err)
}
}()
httpsServer := &graceful.Server{Server: new(http.Server)}
httpsServer.Handler = handler
httpsServer.TLSConfig = new(tls.Config)
httpsServer.TLSConfig.NextProtos = []string{"http/1.1"}
// https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet#Rule_-_Only_Support_Strong_Protocols
httpsServer.TLSConfig.MinVersion = tls.VersionTLS11
httpsServer.TLSConfig.Certificates = make([]tls.Certificate, 1)
httpsServer.TLSConfig.Certificates[0], err = tls.LoadX509KeyPair(string(opts.TLSCertificate), string(opts.TLSCertificateKey))
if err != nil {
log.Fatal(err)
}
if opts.TLSHost == "" {
opts.TLSHost = opts.Host
}
tlsListener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", opts.TLSHost, opts.TLSPort))
if err != nil {
log.Fatalln(err)
}
fmt.Printf("serving simple to do list at https://%s\n", tlsListener.Addr())
wrapped := tls.NewListener(tcpKeepAliveListener{tlsListener.(*net.TCPListener)}, httpsServer.TLSConfig)
if err := httpsServer.Serve(wrapped); err != nil {
log.Fatalln(err)
}
}
开发者ID:MStoykov,项目名称:go-swagger,代码行数:59,代码来源:main.go
示例11: main
func main() {
swaggerSpec, err := spec.New(SwaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
parser := flags.NewParser(&opts, flags.Default)
parser.ShortDescription = swaggerSpec.Spec().Info.Title
parser.LongDescription = swaggerSpec.Spec().Info.Description
api := operations.NewGophergalaLearningResourcesAPI(swaggerSpec)
handler = configureAPI(api)
for _, optsGroup := range api.CommandLineOptionsGroups {
parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options)
}
if _, err := parser.Parse(); err != nil {
os.Exit(1)
}
httpsServer := &graceful.Server{Server: new(http.Server)}
// Normal resources
chttp.Handle("/", http.FileServer(http.Dir("public")))
mux := http.NewServeMux()
mux.HandleFunc("/", ApiHandler)
httpsServer.Handler = mux
httpsServer.TLSConfig = new(tls.Config)
httpsServer.TLSConfig.NextProtos = []string{"http/1.1"}
// https://www.owasp.org/index.php/Transport_Layer_Protection_Cheat_Sheet#Rule_-_Only_Support_Strong_Protocols
httpsServer.TLSConfig.MinVersion = tls.VersionTLS11
httpsServer.TLSConfig.Certificates = make([]tls.Certificate, 1)
httpsServer.TLSConfig.Certificates[0], err = tls.LoadX509KeyPair(string(opts.TLSCertificate), string(opts.TLSCertificateKey))
if err != nil {
api.ServerShutdown()
log.Fatal(err)
}
tlsListener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", opts.TLSHost, opts.TLSPort))
if err != nil {
api.ServerShutdown()
log.Fatalln(err)
}
log.Printf("serving gophergala learning resources at https://%s:%d\n", opts.TLSHost, opts.TLSPort)
wrapped := tls.NewListener(tcpKeepAliveListener{tlsListener.(*net.TCPListener)}, httpsServer.TLSConfig)
if err := httpsServer.Serve(wrapped); err != nil {
api.ServerShutdown()
log.Printf("shutting down gophergala learning resources at https://%s:%d\n", opts.TLSHost, opts.TLSPort)
log.Fatalln(err)
}
go func() {
<-httpsServer.StopChan()
api.ServerShutdown()
}()
}
开发者ID:gophergala2016,项目名称:wwcdc_01,代码行数:59,代码来源:main.go
示例12: validateSwagger
// validateSwagger validates that the given swagger object represents a valid Swagger spec.
func validateSwagger(swagger *genswagger.Swagger) {
b, err := json.Marshal(swagger)
Ω(err).ShouldNot(HaveOccurred())
doc, err := spec.New(b, "")
Ω(err).ShouldNot(HaveOccurred())
err = validate.Spec(doc, strfmt.NewFormats())
Ω(err).ShouldNot(HaveOccurred())
}
开发者ID:patrickToca,项目名称:goa,代码行数:9,代码来源:swagger_test.go
示例13: main
func main() {
swaggerSpec, err := spec.New(restapi.SwaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
api := operations.NewPortLayerAPI(swaggerSpec)
server := restapi.NewServer(api)
defer server.Shutdown()
parser := flags.NewParser(server, flags.Default)
parser.ShortDescription = `Port Layer API`
parser.LongDescription = `Port Layer API`
server.ConfigureFlags()
for _, optsGroup := range api.CommandLineOptionsGroups {
parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options)
}
if _, err := parser.Parse(); err != nil {
os.Exit(1)
}
server.ConfigureAPI()
// BEGIN
// Set the Interface name to instruct listeners to bind on this interface
options.Interface = "bridge"
// Start the DNS Server
dnsserver := dns.NewServer(options)
if dnsserver != nil {
dnsserver.Start()
}
// handle the signals and gracefully shutdown the server
sig := make(chan os.Signal, 1)
signal.Notify(sig, syscall.SIGINT, syscall.SIGTERM)
go func() {
<-sig
dnsserver.Stop()
server.Stop()
}()
go func() {
dnsserver.Wait()
}()
// END
if err := server.Serve(); err != nil {
log.Fatalln(err)
}
}
开发者ID:kjplatz,项目名称:vic,代码行数:55,代码来源:main.go
示例14: NewHTTPClient
// NewHTTPClient creates a new simple to do list HTTP client.
func NewHTTPClient(formats strfmt.Registry) *SimpleToDoList {
swaggerSpec, err := spec.New(SwaggerJSON, "")
if err != nil {
// the swagger spec is valid because it was used to generated this code.
panic(err)
}
if formats == nil {
formats = strfmt.Default
}
return New(httptransport.New(swaggerSpec), formats)
}
开发者ID:aleksandr-vin,项目名称:go-swagger,代码行数:12,代码来源:simple_to_do_list_client.go
示例15: NewPetstore
// NewPetstore creates a new petstore api handler
func NewPetstore() (http.Handler, error) {
spec, err := spec.New(json.RawMessage([]byte(swaggerJSON)), "")
if err != nil {
return nil, err
}
api := untyped.NewAPI(spec)
api.RegisterOperation("getAllPets", getAllPets)
api.RegisterOperation("createPet", createPet)
api.RegisterOperation("deletePet", deletePet)
api.RegisterOperation("getPetById", getPetByID)
return middleware.Serve(spec, api), nil
}
开发者ID:hartsock,项目名称:go-swagger,代码行数:15,代码来源:petstore.go
示例16: main
func main() {
swaggerSpec, err := spec.New(SwaggerJSON, "")
if err != nil {
log.Fatalln(err)
}
parser := flags.NewParser(&opts, flags.Default)
parser.ShortDescription = swaggerSpec.Spec().Info.Title
parser.LongDescription = swaggerSpec.Spec().Info.Description
api := operations.NewTodoListAPI(swaggerSpec)
handler := configureAPI(api)
for _, optsGroup := range api.CommandLineOptionsGroups {
parser.AddGroup(optsGroup.ShortDescription, optsGroup.LongDescription, optsGroup.Options)
}
if _, err := parser.Parse(); err != nil {
os.Exit(1)
}
httpServer := &graceful.Server{Server: new(http.Server)}
httpServer.Handler = handler
listener, err := net.Listen("tcp", fmt.Sprintf("%s:%d", opts.Host, opts.Port))
if err != nil {
api.ServerShutdown()
log.Fatalln(err)
}
fmt.Printf("serving todo list at http://%s\n", listener.Addr())
if err := httpServer.Serve(tcpKeepAliveListener{listener.(*net.TCPListener)}); err != nil {
api.ServerShutdown()
log.Fatalln(err)
}
go func() {
<-httpServer.StopChan()
api.ServerShutdown()
}()
}
开发者ID:smountain,项目名称:go-swagger,代码行数:43,代码来源:main.go
注:本文中的github.com/go-swagger/go-swagger/spec.New函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论