1
- // Copyright (c) .NET Foundation. All rights reserved.
1
+ // Copyright (c) .NET Foundation. All rights reserved.
2
2
// Licensed under the MIT License. See License.txt in the project root for license information.
3
3
4
4
using System . Threading . Tasks ;
@@ -41,6 +41,37 @@ public async Task<IActionResult> Assign([FromBody] EncryptedHostAssignmentContex
41
41
42
42
var assignmentContext = _startupContextProvider . SetContext ( encryptedAssignmentContext ) ;
43
43
44
+ return await assignInternal ( assignmentContext ) ;
45
+ }
46
+
47
+ [ HttpPost ]
48
+ [ Route ( "admin/instance/assign2" ) ]
49
+ [ Authorize ( Policy = PolicyNames . AdminAuthLevel ) ]
50
+ public async Task < IActionResult > Assign2 ( [ FromBody ] FunctionsWorkerContainerAssignmentContext workerAssignmentContext )
51
+ {
52
+ _logger . LogDebug ( $ "Starting container assignment for host : { Request ? . Host } ") ;
53
+
54
+ return await assignInternal ( workerAssignmentContext . AssignmentContext ) ;
55
+ }
56
+
57
+ [ HttpGet ]
58
+ [ Route ( "admin/instance/info" ) ]
59
+ [ Authorize ( Policy = PolicyNames . AdminAuthLevel ) ]
60
+ public IActionResult GetInstanceInfo ( )
61
+ {
62
+ return Ok ( _instanceManager . GetInstanceInfo ( ) ) ;
63
+ }
64
+
65
+ [ HttpGet ]
66
+ [ Route ( "admin/instance/http-health" ) ]
67
+ public IActionResult GetHttpHealthStatus ( )
68
+ {
69
+ // Reaching here implies that http health of the container is ok.
70
+ return Ok ( ) ;
71
+ }
72
+
73
+ private async Task < IActionResult > assignInternal ( HostAssignmentContext assignmentContext )
74
+ {
44
75
// before starting the assignment we want to perform as much
45
76
// up front validation on the context as possible
46
77
string error = await _instanceManager . ValidateContext ( assignmentContext ) ;
@@ -63,21 +94,5 @@ public async Task<IActionResult> Assign([FromBody] EncryptedHostAssignmentContex
63
94
? Accepted ( )
64
95
: StatusCode ( StatusCodes . Status409Conflict , "Instance already assigned" ) ;
65
96
}
66
-
67
- [ HttpGet ]
68
- [ Route ( "admin/instance/info" ) ]
69
- [ Authorize ( Policy = PolicyNames . AdminAuthLevel ) ]
70
- public IActionResult GetInstanceInfo ( )
71
- {
72
- return Ok ( _instanceManager . GetInstanceInfo ( ) ) ;
73
- }
74
-
75
- [ HttpGet ]
76
- [ Route ( "admin/instance/http-health" ) ]
77
- public IActionResult GetHttpHealthStatus ( )
78
- {
79
- // Reaching here implies that http health of the container is ok.
80
- return Ok ( ) ;
81
- }
82
97
}
83
98
}
0 commit comments