mad      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc Safe-InferredHM defghijkl defghijkl defghijkllNone246( http-conduit exceptions http-conduit exceptions overloadingm lensn lenso lensp lensq lens r lens s lens t lens u vwxy lensz lens{ lens|}~ exception exception exception exception exception exception exception exception exception exception exception  exception! exception" exception# exception$ exception% exception& exception' exception( exception) exception+  !"#$%&'()(  !"#$%&'()(  !"#$%&'()*  !"#$%&'() Safe-Inferred!"(*+234=HM **?s know how to append the "api/$format" string to the method URL+Response formats/ Method types2#Jenkins RESTFul API method encodingRender 2, to something that can be sent over the wireRender the method pathRender the query string!Render the response format string%Render unicode text as a query stringrenderT "foo-bar-baz" "foo-bar-baz"renderT "foo bar baz""foo%20bar%20baz"renderT ""  "Y"%D0%94%D0%9C%D0%98%D0%A2%D0%A0%D0%98%D0%99%20%D0%9C%D0%90%D0%9B%D0%98%D0%9A%D0%9E%D0%92"Insert "/" between two (-like things and concatenate everything.Insert -like thing between two (-like things and concatenate everything."foo" `slash` "bar" "foo/bar""foo" `slash` """foo" Only to support numeric literals"*+,-./012*+,-./012*+.-,/102None!"(+-2346=HM3YThe kind of exceptions that can be thrown by performing requests to the Jenkins REST API5CThe value of this type describes Jenkins REST API requests sequenceLift  to 5Interpret the  AST in Tear down the  AST with a -algebra AST interpreter,345345!345 Safe-Inferred(HM6Use a string as an URI segmentpp (text "foo")"foo"Note: with -XOverloadedStringsb extension enabled it's possible to use string literals as segments of the Jenkins API method URL pp' "foo""foo"Note: don't put /< in the string literal unless you want it URL-encoded, use (-/-) instead pp' "foo/bar" "foo%2Fbar"7 Use an integer as an URI segment pp (int 4)"4"8Combine two pathspp ("foo" -/- "bar" -/- "baz") "foo/bar/baz"9Make a key-value pairpp ("foo" -=- "bar") "foo=bar":Create the union of two queriespp ("foo" -=- "bar" -&- "baz") "foo=bar&baz";9Take a list of key-value pairs and render them as a queryEpp (query [("foo", Nothing), ("bar", Just "baz"), ("quux", Nothing)])"foo&bar=baz&quux" pp (query [])""<Put path and query together3pp ("qux" -/- "quux" -?- "foo" -=- "bar" -&- "baz")"qux/quux?foo=bar&baz"pp ("" -?- "foo" -=- "bar") "foo=bar"pp ("/" -?- "foo" -=- "bar") "%2F?foo=bar"=4Append the JSON formatting request to the method URLformat json "foo""foo/api/json">3Append the XML formatting request to the method URLformat xml "foo" "foo/api/xml"?6Append the Python formatting request to the method URLformat python "foo""foo/api/python"@'The formatter that does exactly nothingformat plain "foo""foo"AJob dataformat json (job "name")"job/name/api/json" pp (job "name" -/- "config.xml")"job/name/config.xml"BJob build dataformat json (build "name" 4)"job/name/4/api/json"C View dataformat xml (view "name")"view/name/api/xml"DBuild queue dataformat python queue"queue/api/python"EServer statisticsformat xml overallLoad"overallLoad/api/xml"F Nodes dataformat python computer"computer/api/python"6789:;<=>?@ABCDEF*+,-./0126789:;<=>?@ABCDEF6789:;<*=>?@ABCDEF2/10+.-,6789:;<=>?@ABCDEF89:<None(+3HMTG-Jenkins master node connection settings tokenI Jenkins URLJ Jenkins userK"Jenkins user API token or passwordL%A handy type synonym for the kind of 5 actions that's used the mostMRun a 5 actionIf a 30 is thrown by performing a request to Jenkins,  runJenkins will catch and wrap it in  Exception5. Other exceptions will propagate further untouched.N Perform a GET requestWhile the return type is lazy  BytestringO, the entire response sits in memory anyway: lazy I/O is not used at the leastOPerform a streaming GET requestO , unlike N, is constant-spaceP Perform a POST requestQ Perform a POST request without a payloadRA simple exception handler. If an exception is raised while the action is executed the handler is executed with it as an argumentSA simpler exception handler orElse_ a b = R a (\_ -> b) T locally f x modifies the base Request with f for the execution of x (think  )RThis is useful for setting the appropriate headers, response timeouts and the likeURun two actions concurrentlyVRMap every list element to an action, run them concurrently and collect the results V :   :: U :   (,)WRMap every list element to an action and run them concurrently ignoring the results W :  :: U :   (,)X Perform a POST) request to Jenkins with the XML documentSets up the correct  Content-Type$ header. Mostly useful for updating  config.xml files for jobs, views, etcY Perform a POST request to  /scriptTextZ&Reload jenkins configuration from disk Performs /reload[Restart jenkins safely Performs  /safeRestart /safeRestart$ allows all running jobs to complete\Restart jenkins Performs /restart/restarte restart Jenkins immediately, without waiting for the completion of the building and/or waiting jobsGHIJKLMNOPQRSTUVWXYGroovy source codeZ[\5*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\M5LGHIJKNOPQRSTUVWXYZ[\34GHIJKLMNOPQRSTUVWXYZ[\None]Jenkins informationcDiscover Jenkins on the network$Parse Jenkins discovery response XML]^_`abctimeout]^_`abc]^_`abc ]^_`abc !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[[\]^_`abcdefgh ijklmnno\pqrstuWvwxy !"#$%&'(z{|}~>Ihlibjenkins-0.8.2 Jenkins.RestNetwork.HTTP.Client.LensJenkins.Rest.MethodJenkins.Discover!Network.HTTP.Client.Lens.InternalJenkins.Rest.Method.InternalJenkins.Rest.InternalControl.Monad.Trans.ReaderlocalData.TraversabletraverseControl.ApplicativeliftA2 Data.Foldable traverse_http-client-0.4.20Network.HTTP.Client.TypesRequesttransformers-0.3.0.0Control.Monad.IO.ClassliftIOAsHttpException_HttpExceptionmethodsecurehostportpath queryString requestBodyrequestHeadersproxy hostAddressrawBody decompress redirectCount checkStatusresponseTimeout cookieJargetConnectionWrapper_StatusCodeException_InvalidUrlException_TooManyRedirects_UnparseableRedirect_TooManyRetries_HttpParserException_HandshakeFailed_OverlongHeaders_ResponseTimeout_FailedConnectionException_ExpectedBlankAfter100Continue_InvalidStatusLine_InvalidHeader_InternalIOException_ProxyConnectException_NoResponseDataReceived _TlsException_TlsNotSupported_ResponseBodyTooShort_InvalidChunkHeaders_IncompleteHeaders FormatterFormatPythonXmlJsonTypeCompleteQueryMethodJenkinsExceptionJenkinsHttpExceptionJenkinsTtextint-/--=--&-query-?-jsonxmlpythonplainjobbuildviewqueue overallLoadcomputerMasterurluserapiTokenJenkinsrungetstreampostpost_orElseorElse_locally concurrentlypostXmlgroovyreloadrestart forceRestartDiscoverversionserverIddiscoverLens'LensPrism'Prismprismprism' exception<&>StatusCodeExceptionInvalidUrlExceptionTooManyRedirectsUnparseableRedirectTooManyRetriesHttpParserExceptionHandshakeFailedOverlongHeadersResponseTimeoutFailedConnectionExceptionExpectedBlankAfter100ContinueInvalidStatusLine InvalidHeaderInternalIOExceptionProxyConnectExceptionNoResponseDataReceived TlsExceptionTlsNotSupportedResponseBodyTooShortInvalidChunkHeadersIncompleteHeadersuncurry3$fAsHttpExceptionSomeException$fAsHttpExceptionHttpExceptionrenderrenderPrenderQrenderFrenderTslashbaseGHC.BaseStringinsert $fNumMethod unFormatterSFormatSPythonSXmlSJson:@:?:&:=:/TextEmptyformatrenderQ'$fIsStringMethod$fIsStringMethod0liftJJF iterInterpTInterpTiter interpreter runInterpTWithOrConcPostStreamGet unJenkinsT runInternal oneshotReq streamReqintoM prepareGet preparePost wrapException withAsyncwaitBothmaskcatch$fMonadTransInterpT$fMonadInterpT$fApplicativeInterpT$fExceptionJenkinsException $fFunctorJF$fMonadErroreJenkinsT$fMonadStatesJenkinsT$fMonadWriterwJenkinsT$fMonadReaderrJenkinsT$fMonadJenkinsT$fApplicativeJenkinsT$fMonadTransJenkinsT$fMonadIOJenkinsTtryparseXmlbroadcastSocket readAnswerfromMapparsertagstag