package awskit-lwt
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
Lwt runtime adapter for Awskit
Install
dune-project
Dependency
Authors
Maintainers
Sources
awskit-v0.2.0.tbz
sha256=b69c81378d08f443a276b947d9a2b45913495cb61b2ff3aa0ad74d6b071f32f8
sha512=50714b8eda6ea6e589eb34a305afdfa4870a5e8e4240c091ff5cecd309c21fdfda6163fb6449caad5cdaf800857369df5da0534d822cf152ac76fc16fb9216e5
doc/src/awskit-lwt/awskit_lwt.ml.html
Source file awskit_lwt.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85module Credentials = struct module Provider = struct type credentials = Awskit.Credentials.t type source = Awskit.Credentials.Provider.source type resolution = | Resolved of credentials | Invalid of Awskit.Error.t | Failed of Awskit.Error.t type t = unit -> resolution Lwt.t let create f = f let resolve t = t () let static credentials = let provider = Awskit.Credentials.Provider.static credentials in fun () -> match Awskit.Credentials.Provider.resolve provider with | Awskit.Credentials.Provider.Resolved credentials -> Lwt.return (Resolved credentials) | Awskit.Credentials.Provider.Unavailable { source; reason } -> Lwt.return (Unavailable { source; reason }) | Awskit.Credentials.Provider.Invalid error -> Lwt.return (Invalid error) | Awskit.Credentials.Provider.Failed error -> Lwt.return (Failed error) let chain providers = fun () -> let rec loop = function | [] -> Lwt.return (Unavailable (Option.value last_unavailable ~default: { source = `Custom "chain"; reason = "no credential providers configured"; })) | provider :: rest -> Lwt.bind (provider ()) (function | Resolved _ as resolved -> Lwt.return resolved | Unavailable -> loop (Some unavailable) rest | Invalid _ as invalid -> Lwt.return invalid | Failed _ as failed -> Lwt.return failed) in loop None providers let source_label = Awskit.Credentials.Provider.source_label end end let provider_resolution_to_result resolution = let open Credentials.Provider in match resolution with | Resolved credentials -> Ok credentials | Unavailable { source; reason } -> Error (Awskit.Error.Producer.credentials ~source:(Awskit.Credentials.Provider.source_label source) reason) | Invalid error | Failed error -> Error error module Make (Client : Cohttp_lwt.S.Client) = struct module Inner = Runtime.Make (Client) type t = Inner.t module Runtime = Inner.Runtime let create = Inner.create let create_with_credentials_provider ?ctx ?endpoint ~region ~credentials_provider ~clock ?retry_policy ?sleep ?random_float ?timeout_policy ?max_response_drain_bytes () = let credentials_provider () = Lwt.map provider_resolution_to_result (Credentials.Provider.resolve credentials_provider) in Inner.create_with_credentials_provider ?ctx ?endpoint ~region ~credentials_provider ~clock ?retry_policy ?sleep ?random_float ?timeout_policy ?max_response_drain_bytes () end
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>