in lambda/rapi/handler/agentregister.go [64:90]
func (h *agentRegisterHandler) ServeHTTP(writer http.ResponseWriter, request *http.Request) {
agentName := request.Header.Get(LambdaAgentName)
if agentName == "" {
rendering.RenderForbiddenWithTypeMsg(writer, request, errAgentNameInvalid, "Empty extension name")
return
}
var responseModifiers []responseModifier
for _, f := range parseRegistrationFeatures(request) {
if f == accountFeature {
responseModifiers = append(responseModifiers, h.respondWithAccountID())
}
}
registerRequest, err := parseRegister(request)
if err != nil {
rendering.RenderForbiddenWithTypeMsg(writer, request, errInvalidRequestFormat, "%s", err.Error())
return
}
agent, found := h.registrationService.FindExternalAgentByName(agentName)
if found {
h.registerExternalAgent(agent, registerRequest, writer, request, responseModifiers...)
} else {
h.registerInternalAgent(agentName, registerRequest, writer, request, responseModifiers...)
}
}