github.com/tickoalcantara12/micro/v3@v3.0.0-20221007104245-9d75b9bcbab9/service/network/lookup.go (about)

     1  package network
     2  
     3  import (
     4  	"context"
     5  
     6  	"github.com/tickoalcantara12/micro/v3/service/client"
     7  	"github.com/tickoalcantara12/micro/v3/service/context/metadata"
     8  )
     9  
    10  // Lookup provides a lookup function that checks for namespace as the Micro-Namespace header
    11  func Lookup(ctx context.Context, req client.Request, opts client.CallOptions) ([]string, error) {
    12  	// only set if the value is already nil
    13  	if len(opts.Network) == 0 {
    14  		val, ok := metadata.Get(ctx, "Micro-Namespace")
    15  		if ok {
    16  			// use namespace instead
    17  			opts.Network = val
    18  		}
    19  	}
    20  
    21  	// use the standard Lookup function
    22  	return client.LookupRoute(ctx, req, opts)
    23  }