 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>
		
			
				
	
	
		
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			57 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package internal
 | |
| 
 | |
| import (
 | |
| 	"fmt"
 | |
| 	"strconv"
 | |
| 	"time"
 | |
| )
 | |
| 
 | |
| func AppendArg(b []byte, v interface{}) []byte {
 | |
| 	switch v := v.(type) {
 | |
| 	case nil:
 | |
| 		return append(b, "<nil>"...)
 | |
| 	case string:
 | |
| 		return appendUTF8String(b, Bytes(v))
 | |
| 	case []byte:
 | |
| 		return appendUTF8String(b, v)
 | |
| 	case int:
 | |
| 		return strconv.AppendInt(b, int64(v), 10)
 | |
| 	case int8:
 | |
| 		return strconv.AppendInt(b, int64(v), 10)
 | |
| 	case int16:
 | |
| 		return strconv.AppendInt(b, int64(v), 10)
 | |
| 	case int32:
 | |
| 		return strconv.AppendInt(b, int64(v), 10)
 | |
| 	case int64:
 | |
| 		return strconv.AppendInt(b, v, 10)
 | |
| 	case uint:
 | |
| 		return strconv.AppendUint(b, uint64(v), 10)
 | |
| 	case uint8:
 | |
| 		return strconv.AppendUint(b, uint64(v), 10)
 | |
| 	case uint16:
 | |
| 		return strconv.AppendUint(b, uint64(v), 10)
 | |
| 	case uint32:
 | |
| 		return strconv.AppendUint(b, uint64(v), 10)
 | |
| 	case uint64:
 | |
| 		return strconv.AppendUint(b, v, 10)
 | |
| 	case float32:
 | |
| 		return strconv.AppendFloat(b, float64(v), 'f', -1, 64)
 | |
| 	case float64:
 | |
| 		return strconv.AppendFloat(b, v, 'f', -1, 64)
 | |
| 	case bool:
 | |
| 		if v {
 | |
| 			return append(b, "true"...)
 | |
| 		}
 | |
| 		return append(b, "false"...)
 | |
| 	case time.Time:
 | |
| 		return v.AppendFormat(b, time.RFC3339Nano)
 | |
| 	default:
 | |
| 		return append(b, fmt.Sprint(v)...)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func appendUTF8String(dst []byte, src []byte) []byte {
 | |
| 	dst = append(dst, src...)
 | |
| 	return dst
 | |
| }
 |