github.com/kaisawind/go-swagger@v0.19.0/examples/todo-list/cmd/todo-list-server/main.go (about)

     1  // Code generated by go-swagger; DO NOT EDIT.
     2  
     3  package main
     4  
     5  import (
     6  	"fmt"
     7  	"log"
     8  	"os"
     9  
    10  	loads "github.com/go-openapi/loads"
    11  	"github.com/go-swagger/go-swagger/examples/todo-list/restapi"
    12  	"github.com/go-swagger/go-swagger/examples/todo-list/restapi/operations"
    13  	flag "github.com/spf13/pflag"
    14  )
    15  
    16  // This file was generated by the swagger tool.
    17  // Make sure not to overwrite this file after you generated it because all your edits would be lost!
    18  
    19  func main() {
    20  
    21  	swaggerSpec, err := loads.Embedded(restapi.SwaggerJSON, restapi.FlatSwaggerJSON)
    22  	if err != nil {
    23  		log.Fatalln(err)
    24  	}
    25  
    26  	var server *restapi.Server // make sure init is called
    27  
    28  	flag.Usage = func() {
    29  		fmt.Fprint(os.Stderr, "Usage:\n")
    30  		fmt.Fprint(os.Stderr, "  todo-list-server [OPTIONS]\n\n")
    31  
    32  		title := "Simple To Do List API"
    33  		fmt.Fprint(os.Stderr, title+"\n\n")
    34  		desc := swaggerSpec.Spec().Info.Description
    35  		if desc != "" {
    36  			fmt.Fprintf(os.Stderr, desc+"\n\n")
    37  		}
    38  		fmt.Fprintln(os.Stderr, flag.CommandLine.FlagUsages())
    39  	}
    40  	// parse the CLI flags
    41  	flag.Parse()
    42  
    43  	api := operations.NewTodoListAPI(swaggerSpec)
    44  	// get server with flag values filled out
    45  	server = restapi.NewServer(api)
    46  
    47  	defer server.Shutdown()
    48  
    49  	server.ConfigureAPI()
    50  	if err := server.Serve(); err != nil {
    51  		log.Fatalln(err)
    52  	}
    53  
    54  }