code: func NewServer(opts *ServerOptions) *Server {
  	server := &Server{
  		signer:          opts.Signer,
  		verifier:        opts.Verifier,
  		isProcessor:     hasProcessor(opts),
  		isController:    hasController(opts),
  		headers:         http.Header{},
  		processorDomain: opts.ProcessorDomain,
  	}
  	server.headers.Set("Accept", "application/json")
  	server.headers.Set("Content-Type", "application/json")
  	if hasProcessor(opts) {
  		server.headers.Set("X-OpenGDPR-ProcessorDomain", opts.ProcessorDomain)
  	}
  	router := httprouter.New()
  	hm := buildHandlerMap(opts)
  	for path, methods := range hm {
  		for method, builder := range methods {
  			router.Handle(method, path, server.handle(builder(opts)))
  		}
  	}
  	server.handlerFn = router.ServeHTTP
  	return server
  }
docs: // NewServer returns a server type that statisfies the
  // http.Handler interface.