mirror of
				https://github.com/caddyserver/caddy.git
				synced 2025-10-24 23:39:19 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			154 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			154 lines
		
	
	
		
			2.2 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| &(first) {
 | |
| 	@first path /first
 | |
| 	vars @first first 1
 | |
| 	respond "first"
 | |
| }
 | |
| 
 | |
| &(second) {
 | |
| 	respond "second"
 | |
| }
 | |
| 
 | |
| :8881 {
 | |
| 	invoke first
 | |
| 	route {
 | |
| 		invoke second
 | |
| 	}
 | |
| }
 | |
| 
 | |
| :8882 {
 | |
| 	handle {
 | |
| 		invoke second
 | |
| 	}
 | |
| }
 | |
| 
 | |
| :8883 {
 | |
| 	respond "no invoke"
 | |
| }
 | |
| ----------
 | |
| {
 | |
| 	"apps": {
 | |
| 		"http": {
 | |
| 			"servers": {
 | |
| 				"srv0": {
 | |
| 					"listen": [
 | |
| 						":8881"
 | |
| 					],
 | |
| 					"routes": [
 | |
| 						{
 | |
| 							"handle": [
 | |
| 								{
 | |
| 									"handler": "invoke",
 | |
| 									"name": "first"
 | |
| 								},
 | |
| 								{
 | |
| 									"handler": "subroute",
 | |
| 									"routes": [
 | |
| 										{
 | |
| 											"handle": [
 | |
| 												{
 | |
| 													"handler": "invoke",
 | |
| 													"name": "second"
 | |
| 												}
 | |
| 											]
 | |
| 										}
 | |
| 									]
 | |
| 								}
 | |
| 							]
 | |
| 						}
 | |
| 					],
 | |
| 					"named_routes": {
 | |
| 						"first": {
 | |
| 							"handle": [
 | |
| 								{
 | |
| 									"handler": "subroute",
 | |
| 									"routes": [
 | |
| 										{
 | |
| 											"handle": [
 | |
| 												{
 | |
| 													"first": 1,
 | |
| 													"handler": "vars"
 | |
| 												}
 | |
| 											],
 | |
| 											"match": [
 | |
| 												{
 | |
| 													"path": [
 | |
| 														"/first"
 | |
| 													]
 | |
| 												}
 | |
| 											]
 | |
| 										},
 | |
| 										{
 | |
| 											"handle": [
 | |
| 												{
 | |
| 													"body": "first",
 | |
| 													"handler": "static_response"
 | |
| 												}
 | |
| 											]
 | |
| 										}
 | |
| 									]
 | |
| 								}
 | |
| 							]
 | |
| 						},
 | |
| 						"second": {
 | |
| 							"handle": [
 | |
| 								{
 | |
| 									"body": "second",
 | |
| 									"handler": "static_response"
 | |
| 								}
 | |
| 							]
 | |
| 						}
 | |
| 					}
 | |
| 				},
 | |
| 				"srv1": {
 | |
| 					"listen": [
 | |
| 						":8882"
 | |
| 					],
 | |
| 					"routes": [
 | |
| 						{
 | |
| 							"handle": [
 | |
| 								{
 | |
| 									"handler": "subroute",
 | |
| 									"routes": [
 | |
| 										{
 | |
| 											"handle": [
 | |
| 												{
 | |
| 													"handler": "invoke",
 | |
| 													"name": "second"
 | |
| 												}
 | |
| 											]
 | |
| 										}
 | |
| 									]
 | |
| 								}
 | |
| 							]
 | |
| 						}
 | |
| 					],
 | |
| 					"named_routes": {
 | |
| 						"second": {
 | |
| 							"handle": [
 | |
| 								{
 | |
| 									"body": "second",
 | |
| 									"handler": "static_response"
 | |
| 								}
 | |
| 							]
 | |
| 						}
 | |
| 					}
 | |
| 				},
 | |
| 				"srv2": {
 | |
| 					"listen": [
 | |
| 						":8883"
 | |
| 					],
 | |
| 					"routes": [
 | |
| 						{
 | |
| 							"handle": [
 | |
| 								{
 | |
| 									"body": "no invoke",
 | |
| 									"handler": "static_response"
 | |
| 								}
 | |
| 							]
 | |
| 						}
 | |
| 					]
 | |
| 				}
 | |
| 			}
 | |
| 		}
 | |
| 	}
 | |
| } |