 9bdcbe0447
			
		
	
	9bdcbe0447
	
	
	
		
			
			Major integrations and fixes: - Added BACKBEAT SDK integration for P2P operation timing - Implemented beat-aware status tracking for distributed operations - Added Docker secrets support for secure license management - Resolved KACHING license validation via HTTPS/TLS - Updated docker-compose configuration for clean stack deployment - Disabled rollback policies to prevent deployment failures - Added license credential storage (CHORUS-DEV-MULTI-001) Technical improvements: - BACKBEAT P2P operation tracking with phase management - Enhanced configuration system with file-based secrets - Improved error handling for license validation - Clean separation of KACHING and CHORUS deployment stacks 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package ssdp
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"net"
 | |
| )
 | |
| 
 | |
| // LocationProvider provides address for Location header which can be reached from
 | |
| // "from" address network.
 | |
| type LocationProvider interface {
 | |
| 	// Location provides an address be reachable from the network located
 | |
| 	// by "from" address or "ifi" interface.
 | |
| 	// One of "from" or "ifi" must not be nil.
 | |
| 	Location(from net.Addr, ifi *net.Interface) string
 | |
| }
 | |
| 
 | |
| // LocationProviderFunc type is an adapter to allow the use of ordinary
 | |
| // functions are location providers.
 | |
| type LocationProviderFunc func(net.Addr, *net.Interface) string
 | |
| 
 | |
| func (f LocationProviderFunc) Location(from net.Addr, ifi *net.Interface) string {
 | |
| 	return f(from, ifi)
 | |
| }
 | |
| 
 | |
| type fixedLocation string
 | |
| 
 | |
| func (s fixedLocation) Location(net.Addr, *net.Interface) string {
 | |
| 	return string(s)
 | |
| }
 | |
| 
 | |
| func toLocationProvider(v interface{}) (LocationProvider, error) {
 | |
| 	switch w := v.(type) {
 | |
| 	case string:
 | |
| 		return fixedLocation(w), nil
 | |
| 	case LocationProvider:
 | |
| 		return w, nil
 | |
| 	default:
 | |
| 		return nil, fmt.Errorf("location should be a string or a ssdp.LocationProvider but got %T", w)
 | |
| 	}
 | |
| }
 |