INNER CODE UNIT · Go

methodRequestTemplates

mweagle/Sparta · apigateway.go:143

func methodRequestTemplates(method *Method) (map[string]string, error) {
	supportedTemplates := map[string]string{
		"application/json":                  embeddedMustString("resources/provision/apigateway/inputmapping_json.vtl"),
		"text/plain":                        embeddedMustString("resources/provision/apigateway/inputmapping_default.vtl"),
		"application/x-www-form-urlencoded": embeddedMustString("resources/provision/apigateway/inputmapping_formencoded.vtl"),
		"multipart/form-data":               embeddedMustString("resources/provision/apigateway/inputmapping_default.vtl"),
	}
	if len(method.SupportedRequestContentTypes) <= 0 {
		return supportedTemplates, nil
	}

	// Else, let's go ahead and return only the mappings the user wanted
	userDefinedTemplates := make(map[string]string)
	for _, eachContentType := range method.SupportedRequestContentTypes {
		vtlMapping, vtlMappingExists := supportedTemplates[eachContentType]
		if !vtlMappingExists {
			return nil, fmt.Errorf("unsupported method request template Content-Type provided: %s", eachContentType)
		}

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…