A resend library for the Gleam programming language

chore: update dependencies

Changed files
+20 -18
src
gleesend
+2 -2
gleam.toml
··· 6 7 [dependencies] 8 gleam_stdlib = ">= 0.34.0 and < 2.0.0" 9 - gleam_http = ">= 3.6.0 and < 4.0.0" 10 - gleam_json = ">= 2.0.0 and < 3.0.0" 11 12 [dev-dependencies] 13 gleeunit = ">= 1.0.0 and < 2.0.0"
··· 6 7 [dependencies] 8 gleam_stdlib = ">= 0.34.0 and < 2.0.0" 9 + gleam_http = ">= 4.0.0 and < 5.0.0" 10 + gleam_json = ">= 3.0.0 and < 4.0.0" 11 12 [dev-dependencies] 13 gleeunit = ">= 1.0.0 and < 2.0.0"
+11 -11
manifest.toml
··· 2 # You typically do not need to edit this file 3 4 packages = [ 5 - { name = "certifi", version = "2.12.0", build_tools = ["rebar3"], requirements = [], otp_app = "certifi", source = "hex", outer_checksum = "EE68D85DF22E554040CDB4BE100F33873AC6051387BAF6A8F6CE82272340FF1C" }, 6 - { name = "gleam_hackney", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_http", "gleam_stdlib", "hackney"], otp_app = "gleam_hackney", source = "hex", outer_checksum = "066B1A55D37DBD61CC72A1C4EDE43C6015B1797FAF3818C16FE476534C7B6505" }, 7 - { name = "gleam_http", version = "3.6.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_http", source = "hex", outer_checksum = "8C07DF9DF8CC7F054C650839A51C30A7D3C26482AC241C899C1CEA86B22DBE51" }, 8 - { name = "gleam_json", version = "2.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "CB10B0E7BF44282FB25162F1A24C1A025F6B93E777CCF238C4017E4EEF2CDE97" }, 9 - { name = "gleam_stdlib", version = "0.39.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "2D7DE885A6EA7F1D5015D1698920C9BAF7241102836CE0C3837A4F160128A9C4" }, 10 - { name = "gleeunit", version = "1.2.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "F7A7228925D3EE7D0813C922E062BFD6D7E9310F0BEE585D3A42F3307E3CFD13" }, 11 - { name = "hackney", version = "1.20.1", build_tools = ["rebar3"], requirements = ["certifi", "idna", "metrics", "mimerl", "parse_trans", "ssl_verify_fun", "unicode_util_compat"], otp_app = "hackney", source = "hex", outer_checksum = "FE9094E5F1A2A2C0A7D10918FEE36BFEC0EC2A979994CFF8CFE8058CD9AF38E3" }, 12 { name = "idna", version = "6.1.1", build_tools = ["rebar3"], requirements = ["unicode_util_compat"], otp_app = "idna", source = "hex", outer_checksum = "92376EB7894412ED19AC475E4A86F7B413C1B9FBB5BD16DCCD57934157944CEA" }, 13 { name = "metrics", version = "1.0.1", build_tools = ["rebar3"], requirements = [], otp_app = "metrics", source = "hex", outer_checksum = "69B09ADDDC4F74A40716AE54D140F93BEB0FB8978D8636EADED0C31B6F099F16" }, 14 - { name = "mimerl", version = "1.3.0", build_tools = ["rebar3"], requirements = [], otp_app = "mimerl", source = "hex", outer_checksum = "A1E15A50D1887217DE95F0B9B0793E32853F7C258A5CD227650889B38839FE9D" }, 15 { name = "parse_trans", version = "3.4.1", build_tools = ["rebar3"], requirements = [], otp_app = "parse_trans", source = "hex", outer_checksum = "620A406CE75DADA827B82E453C19CF06776BE266F5A67CFF34E1EF2CBB60E49A" }, 16 { name = "ssl_verify_fun", version = "1.1.7", build_tools = ["mix", "rebar3", "make"], requirements = [], otp_app = "ssl_verify_fun", source = "hex", outer_checksum = "FE4C190E8F37401D30167C8C405EDA19469F34577987C76DDE613E838BBC67F8" }, 17 - { name = "unicode_util_compat", version = "0.7.0", build_tools = ["rebar3"], requirements = [], otp_app = "unicode_util_compat", source = "hex", outer_checksum = "25EEE6D67DF61960CF6A794239566599B09E17E668D3700247BC498638152521" }, 18 ] 19 20 [requirements] 21 gleam_hackney = { version = ">= 1.2.0 and < 2.0.0" } 22 - gleam_http = { version = ">= 3.6.0 and < 4.0.0" } 23 - gleam_json = { version = ">= 2.0.0 and < 3.0.0" } 24 gleam_stdlib = { version = ">= 0.34.0 and < 2.0.0" } 25 gleeunit = { version = ">= 1.0.0 and < 2.0.0" }
··· 2 # You typically do not need to edit this file 3 4 packages = [ 5 + { name = "certifi", version = "2.15.0", build_tools = ["rebar3"], requirements = [], otp_app = "certifi", source = "hex", outer_checksum = "B147ED22CE71D72EAFDAD94F055165C1C182F61A2FF49DF28BCC71D1D5B94A60" }, 6 + { name = "gleam_hackney", version = "1.3.1", build_tools = ["gleam"], requirements = ["gleam_http", "gleam_stdlib", "hackney"], otp_app = "gleam_hackney", source = "hex", outer_checksum = "0449AADBEBF3E979509A4079EE34B92EEE4162C5A0DC94F3DA2787E4777F6B45" }, 7 + { name = "gleam_http", version = "4.0.0", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_http", source = "hex", outer_checksum = "0A62451FC85B98062E0907659D92E6A89F5F3C0FBE4AB8046C99936BF6F91DBC" }, 8 + { name = "gleam_json", version = "3.0.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleam_json", source = "hex", outer_checksum = "5BA154440B22D9800955B1AB854282FA37B97F30F409D76B0824D0A60C934188" }, 9 + { name = "gleam_stdlib", version = "0.60.0", build_tools = ["gleam"], requirements = [], otp_app = "gleam_stdlib", source = "hex", outer_checksum = "621D600BB134BC239CB2537630899817B1A42E60A1D46C5E9F3FAE39F88C800B" }, 10 + { name = "gleeunit", version = "1.5.1", build_tools = ["gleam"], requirements = ["gleam_stdlib"], otp_app = "gleeunit", source = "hex", outer_checksum = "D33B7736CF0766ED3065F64A1EBB351E72B2E8DE39BAFC8ADA0E35E92A6A934F" }, 11 + { name = "hackney", version = "1.24.1", build_tools = ["rebar3"], requirements = ["certifi", "idna", "metrics", "mimerl", "parse_trans", "ssl_verify_fun", "unicode_util_compat"], otp_app = "hackney", source = "hex", outer_checksum = "F4A7392A0B53D8BBC3EB855BDCC919CD677358E65B2AFD3840B5B3690C4C8A39" }, 12 { name = "idna", version = "6.1.1", build_tools = ["rebar3"], requirements = ["unicode_util_compat"], otp_app = "idna", source = "hex", outer_checksum = "92376EB7894412ED19AC475E4A86F7B413C1B9FBB5BD16DCCD57934157944CEA" }, 13 { name = "metrics", version = "1.0.1", build_tools = ["rebar3"], requirements = [], otp_app = "metrics", source = "hex", outer_checksum = "69B09ADDDC4F74A40716AE54D140F93BEB0FB8978D8636EADED0C31B6F099F16" }, 14 + { name = "mimerl", version = "1.4.0", build_tools = ["rebar3"], requirements = [], otp_app = "mimerl", source = "hex", outer_checksum = "13AF15F9F68C65884ECCA3A3891D50A7B57D82152792F3E19D88650AA126B144" }, 15 { name = "parse_trans", version = "3.4.1", build_tools = ["rebar3"], requirements = [], otp_app = "parse_trans", source = "hex", outer_checksum = "620A406CE75DADA827B82E453C19CF06776BE266F5A67CFF34E1EF2CBB60E49A" }, 16 { name = "ssl_verify_fun", version = "1.1.7", build_tools = ["mix", "rebar3", "make"], requirements = [], otp_app = "ssl_verify_fun", source = "hex", outer_checksum = "FE4C190E8F37401D30167C8C405EDA19469F34577987C76DDE613E838BBC67F8" }, 17 + { name = "unicode_util_compat", version = "0.7.1", build_tools = ["rebar3"], requirements = [], otp_app = "unicode_util_compat", source = "hex", outer_checksum = "B3A917854CE3AE233619744AD1E0102E05673136776FB2FA76234F3E03B23642" }, 18 ] 19 20 [requirements] 21 gleam_hackney = { version = ">= 1.2.0 and < 2.0.0" } 22 + gleam_http = { version = ">= 4.0.0 and < 5.0.0" } 23 + gleam_json = { version = ">= 3.0.0 and < 4.0.0" } 24 gleam_stdlib = { version = ">= 0.34.0 and < 2.0.0" } 25 gleeunit = { version = ">= 1.0.0 and < 2.0.0" }
+7 -5
src/gleesend/emails.gleam
··· 1 - import gleam/dynamic 2 import gleam/http.{Post} 3 import gleam/http/request 4 import gleam/json ··· 74 75 let body = 76 json.object( 77 - list.concat([ 78 [ 79 #("from", json.string(email.from)), 80 #("to", json.array(email.to, fn(a) { json.string(a) })), ··· 118 119 /// Takes in the string body of the response and the status returned by your http library of choice 120 pub fn to_response(body: String, status: Int) { 121 - let body_decoder = 122 - dynamic.decode1(SuccessResponse, dynamic.field("id", dynamic.string)) 123 124 case status { 125 200 -> 126 - case json.decode(body, body_decoder) { 127 Ok(body) -> Ok(body) 128 Error(_) -> Error(ParseResponseBodyError) 129 }
··· 1 + import gleam/dynamic/decode 2 import gleam/http.{Post} 3 import gleam/http/request 4 import gleam/json ··· 74 75 let body = 76 json.object( 77 + list.flatten([ 78 [ 79 #("from", json.string(email.from)), 80 #("to", json.array(email.to, fn(a) { json.string(a) })), ··· 118 119 /// Takes in the string body of the response and the status returned by your http library of choice 120 pub fn to_response(body: String, status: Int) { 121 + let body_decoder = { 122 + use id <- decode.field("id", decode.string) 123 + decode.success(SuccessResponse(id:)) 124 + } 125 126 case status { 127 200 -> 128 + case json.parse(body, body_decoder) { 129 Ok(body) -> Ok(body) 130 Error(_) -> Error(ParseResponseBodyError) 131 }