Ruby
Changelog
Jedes Release des Gems, neuestes zuerst.
0.0.1
Das erste Release. Es deckt das gesamte TypeScript-SDK ab, wie es zum Zeitpunkt dieses Releases stand, 0.0.8 plus die danach eingereihten Änderungen: 430 Methoden in 41 Namespaces, jede unter dem TypeScript-Namen in snake_case, und jede davon sendet Byte für Byte die Anfrage, die ihr TypeScript-Gegenstück sendet.
OpenEmail::Clienthat einen Reader für jeden Namespace, vonemails,threadsundtemplatesbisprovider_imports,dns_connectionsundaccount. AuslistAllwirdlist_all, ausgetActivewirdget_activeund austempMailwirdtemp_mail.- Ein Request-Body wird als Keyword-Argumente oder als einzelner Hash übergeben, und seine Schlüssel behalten die camelCase-Namen der API. Eine Antwort kommt als Hash mit Symbol-Schlüsseln zurück.
- Jede Ressource mit Seiten hat
list, das eineOpenEmail::Pagezurückgibt,list_all, das alle Einträge als Array zurückgibt, unditerate, das jeden Eintrag an einen Block übergibt oder einen Enumerator zurückgibt, der die nächste Seite erst holt, wenn er dort ankommt.PeoplePage,TempMessagesPage,AddressBookPage,AddressBook,BatchResultundTemplateSendstragen die Antworten, die mehr als eine Liste enthalten. - Eine Ablehnung durch die API löst
OpenEmail::ApiErroroder dessen Unterklasse für den Fehlertyp aus, mitstatus,type,code,param,doc_url,request_id,retry_after_seconds,fieldsundbodysowie Prädikaten wievalidation?undstep_up_required?. Gar keine Antwort löstOpenEmail::NetworkErroraus, mittimeout?, wenn die Frist abgelaufen ist. Ein Fehler im Aufruf selbst löst einenArgumentErroraus, bevor etwas gesendet wird. OpenEmail.create_clienterzeugt einen Client ausOPENEMAIL_API_KEY,OPENEMAIL_ACCESS_TOKENundOPENEMAIL_BASE_URL, undOpenEmail.init,OpenEmail.clientundOpenEmail.reset_clientverwalten einen gemeinsamen Client, über denOpenEmail.emailsund jeder andere Namespace zugreifen.OpenEmail.create_temp_mailöffnet Wegwerf-Postfächer ohne Zugangsdaten.access_token:nimmt ein OAuth-Zugriffstoken oder alles, was aufcallantwortet und eines zurückgibt, aufgerufen vor jeder Anfrage. Jede Methode nimmtapi_key:, um für einen Aufruf mit einem anderen Schlüssel zu handeln, und dietemp_mail-Methoden nehmeninbox_token:.OpenEmail.verify_webhook_signatureprüft eine Zustellung in konstanter Zeit, lehnt eine ab, die älter als fünf Minuten ist, und gibt das geparste Event zurück. Es liest die Signatur aus einem Hash in beliebiger Schreibweise, aus einem Rack-env oder ausrequest.headersvon Rails.OpenEmail.to_base64,api_key?,access_token?,sealed?,resolve_language,language_by_codeundrtl_language?sind die Helfer des TypeScript-SDK, und jede Wertemenge, die dessen Paketwurzel exportiert, ist ein eingefrorener Hash aufOpenEmail.- Es hat keine Laufzeitabhängigkeiten. Anfragen laufen über Net::HTTP mit einem Pool von Keep-Alive-Verbindungen, den ein Client über Threads hinweg teilt und nach einem Fork neu aufbaut, und
timeout:begrenzt einen ganzen Versuch. - Lesevorgänge, Versände und jeder Schreibvorgang, der gefahrlos wiederholt werden kann, werden bei 408, 500, 502, 503 und 504 mit Backoff wiederholt und bei einem 429 nur, wenn dessen
Retry-Aftereine Minute oder weniger beträgt. Jeder Versand trägt einen Idempotency-Key, den seine Wiederholungen weiterverwenden. - Der Client weigert sich, Zugangsdaten über einfaches
http:an etwas anderes als diesen Rechner zu senden, lehnt einebase_urlauf0.0.0.0ab, lehnt einen Header ab, der eine Anfrage aufspalten würde, und lässtraw.requestnie den Origin der Basis-URL verlassen.