module Rakka.Resource
( runIdempotentA
+ , runIdempotentA'
, runXmlA
, getEntityType
, outputXmlPage
, outputXmlPage'
+ , outputXml
, getUserID
)
where
rsrc
+runIdempotentA' :: IOSArrow () (Resource c) -> Resource c
+runIdempotentA' a
+ = do [rsrc] <- liftIO $ runX ( setErrorMsgHandler False fail
+ >>>
+ constA ()
+ >>>
+ a
+ )
+ rsrc
+
+
runXmlA :: Environment -> FilePath -> IOSArrow XmlTree (Resource c) -> Resource c
runXmlA env schemaPath a
= do inputA <- getInputXmlA env schemaPath
>>>
formatter
>>>
- writeDocumentToString [ (a_indent, v_1) ]
+ writeDocumentToString [ (a_indent , v_1 )
+ , (a_output_encoding, utf8)
+ , (a_no_xml_pi , v_0 ) ]
)
output resultStr
= outputXmlPage tree [(MIMEType "application" "xhtml+xml" [], toXHTML)]
+outputXml :: XmlTree -> Resource ()
+outputXml tree
+ = do setContentType (MIMEType "text" "xml" [])
+ [xmlStr] <- liftIO $ runX ( setErrorMsgHandler False fail
+ >>>
+ constA tree
+ >>>
+ writeDocumentToString [ (a_indent , v_1 )
+ , (a_output_encoding, utf8)
+ , (a_no_xml_pi , v_0 ) ]
+ )
+ output xmlStr
+
+
getUserID :: Environment -> Resource (Maybe String)
getUserID env
= do auth <- getAuthorization