@@ -17,34 +17,53 @@ public TransientResource()
17
17
Counter ++ ;
18
18
}
19
19
20
- [ RestRoute ]
20
+ [ RestRoute ( "Get" , "{key}/{value}" ) ]
21
21
public async Task TransientCallA ( IHttpContext context )
22
22
{
23
- // You can store anything in locals!
24
23
if ( ! context . Contains ( "Call-Order" ) ) context . Set ( "Call-Order" , new StringBuilder ( ) ) ;
25
24
context . GetAs < StringBuilder > ( "Call-Order" ) . Append ( $ "A-{ Counter } { Environment . NewLine } ") ;
25
+
26
+ if ( ! context . Contains ( "PathParameters" ) ) context . Set ( "PathParameters" , new StringBuilder ( ) ) ;
27
+ var sb = context . GetAs < StringBuilder > ( "PathParameters" ) ;
28
+
29
+ sb . Append ( $ "A: Count: { context . Request . PathParameters . Count } { Environment . NewLine } ") ;
30
+ sb . Append ( $ "\t key: { context . Request . PathParameters [ "key" ] } { Environment . NewLine } ") ;
31
+ sb . Append ( $ "\t value: { context . Request . PathParameters [ "value" ] } { Environment . NewLine } ") ;
32
+
26
33
await Task . CompletedTask ;
27
34
}
28
35
29
- [ RestRoute ]
36
+ [ RestRoute ( "Get" , @"^/([a-zA-Z]+)/(\d{1,})" ) ]
30
37
public async Task TransientCallB ( IHttpContext context )
31
38
{
32
- // You can store anything in locals!
33
39
if ( ! context . Contains ( "Call-Order" ) ) context . Set ( "Call-Order" , new StringBuilder ( ) ) ;
34
40
context . GetAs < StringBuilder > ( "Call-Order" ) . Append ( $ "B-{ Counter } { Environment . NewLine } ") ;
41
+
42
+ if ( ! context . Contains ( "PathParameters" ) ) context . Set ( "PathParameters" , new StringBuilder ( ) ) ;
43
+ var sb = context . GetAs < StringBuilder > ( "PathParameters" ) ;
44
+
45
+ sb . Append ( $ "B: Count: { context . Request . PathParameters . Count } { Environment . NewLine } ") ;
46
+ sb . Append ( $ "\t p0: { context . Request . PathParameters [ "p0" ] } { Environment . NewLine } ") ;
47
+ sb . Append ( $ "\t p1: { context . Request . PathParameters [ "p1" ] } { Environment . NewLine } ") ;
48
+
35
49
await Task . CompletedTask ;
36
50
}
37
51
38
- [ RestRoute ]
52
+ [ RestRoute ( "Get" , "{thing1}/{thing2}" ) ]
39
53
public async Task TransientCallC ( IHttpContext context )
40
54
{
41
- // You can store anything in locals!
42
55
if ( ! context . Contains ( "Call-Order" ) ) context . Set ( "Call-Order" , new StringBuilder ( ) ) ;
56
+ var co = context . GetAs < StringBuilder > ( "Call-Order" ) ;
57
+ co . Append ( $ "C-{ Counter } { Environment . NewLine } ") ;
58
+
59
+ if ( ! context . Contains ( "PathParameters" ) ) context . Set ( "PathParameters" , new StringBuilder ( ) ) ;
60
+ var sb = context . GetAs < StringBuilder > ( "PathParameters" ) ;
43
61
44
- var sb = context . GetAs < StringBuilder > ( "Call-Order" ) ;
45
- sb . Append ( $ "C-{ Counter } { Environment . NewLine } ") ;
62
+ sb . Append ( $ "C: Count: { context . Request . PathParameters . Count } { Environment . NewLine } ") ;
63
+ sb . Append ( $ "\t thing1: { context . Request . PathParameters [ "thing1" ] } { Environment . NewLine } ") ;
64
+ sb . Append ( $ "\t thing2: { context . Request . PathParameters [ "thing2" ] } { Environment . NewLine } ") ;
46
65
47
- await context . Response . SendResponseAsync ( sb . ToString ( ) ) ;
66
+ await context . Response . SendResponseAsync ( $ " { sb . ToString ( ) } { Environment . NewLine } { co . ToString ( ) } " ) ;
48
67
}
49
68
}
50
69
}
0 commit comments