HomeForumSourceResearchGuide
Sign in to contribute to source. how it works
Component ws.FormParser by barry
expand copy to clipboardexpand
uses ws.forms.Parser

component provides FormParser requires io.Output out, composition.Search search, composition.RecursiveLoader loader {
	
	FormData FormParser:getFormData(char contentType[], byte payload[])
		{
		//search for any parser that can handle this contentType
		
		String candidates[] = search.getComponents("ws.forms.Parser:*")
		
		for (int i = 0; i < candidates.arrayLength; i++)
			{
			IDC com = loader.load(candidates[i].string).mainComponent
			
			if (com.hasProvides("Parser"))
				{
				Parser p = new Parser() from com
				
				if (p.canParse(contentType))
					{
					return p.parse(contentType, payload)
					}
				}
			}
		
		throw new Exception("No known form parser for content type '$contentType'")
		
		return null
		}
	
	} 
Revision history
To propose a new revision to this entity, use dana source put -uc your/new/version.dn -n ws.FormParser -m "reason for update" -u yourUsername
Version 1 (this version) by barry
Notes for this version: Standard Library Initialisation