문서로 건너뛰기
Ruby

변경 이력

gem의 모든 릴리스를 최신순으로 정리했습니다.

0.0.1

첫 번째 릴리스입니다. 이 릴리스를 만든 시점의 TypeScript SDK 전체, 즉 0.0.8과 그 뒤로 예정된 변경을 포함합니다: 41개 네임스페이스에 걸친 430개 메서드가 각각 TypeScript 이름을 snake_case로 바꾼 이름으로 제공되며, 그 모두가 TypeScript 짝이 보내는 요청과 바이트 단위로 같은 요청을 보냅니다.

  • OpenEmail::Client에는 emails, threads, templates부터 provider_imports, dns_connections, account까지 모든 네임스페이스의 리더가 있습니다. listAll은 list_all, getActive는 get_active, tempMail은 temp_mail입니다.
  • 요청 본문은 키워드 인자나 Hash 하나로 전달하며, 그 키는 API의 camelCase 이름을 그대로 씁니다. 응답은 Symbol 키를 가진 Hash로 돌아옵니다.
  • 페이지로 나뉘는 모든 리소스에는 OpenEmail::Page 하나를 반환하는 list, 모든 항목을 Array로 반환하는 list_all, 그리고 각 항목을 블록에 yield하거나 다음 페이지에 이르렀을 때만 그 페이지를 가져오는 Enumerator를 반환하는 iterate가 있습니다. PeoplePage, TempMessagesPage, AddressBookPage, AddressBook, BatchResult, TemplateSends는 목록 이상을 담은 답을 전달합니다.
  • API의 거부는 OpenEmail::ApiError 또는 오류 유형에 맞는 그 하위 클래스를 발생시키며, 여기에는 status, type, code, param, doc_url, request_id, retry_after_seconds, fields, body와, validation?, step_up_required? 같은 술어 메서드가 있습니다. 응답이 전혀 없으면 OpenEmail::NetworkError를 발생시키며, 기한이 지났으면 timeout?이 true입니다. 호출 자체의 실수는 무엇이든 보내기 전에 ArgumentError를 발생시킵니다.
  • OpenEmail.create_client는 OPENEMAIL_API_KEY, OPENEMAIL_ACCESS_TOKEN, OPENEMAIL_BASE_URL로 클라이언트를 만들고, OpenEmail.init, OpenEmail.client, OpenEmail.reset_client는 OpenEmail.emails를 비롯한 모든 네임스페이스가 거쳐 가는 공유 클라이언트 하나를 관리합니다. OpenEmail.create_temp_mail은 자격 증명 없이 일회용 받은편지함을 엽니다.
  • access_token:은 OAuth 액세스 토큰, 또는 call에 응답해 토큰을 반환하는 객체를 받으며, 이 객체는 모든 요청 전에 호출됩니다. 모든 메서드는 호출 하나에 한해 다른 키로 실행하기 위한 api_key:를 받고, temp_mail 메서드는 inbox_token:을 받습니다.
  • OpenEmail.verify_webhook_signature는 전달을 상수 시간으로 검사하고, 5분보다 오래된 것은 거부하며, 파싱된 이벤트를 반환합니다. 서명은 대소문자를 가리지 않는 Hash, Rack env, 또는 Rails의 request.headers에서 읽습니다.
  • OpenEmail.to_base64, api_key?, access_token?, sealed?, resolve_language, language_by_code, rtl_language?는 TypeScript SDK의 헬퍼에 해당하며, 그 패키지 루트가 내보내는 모든 값 집합은 OpenEmail의 동결된 Hash입니다.
  • 런타임 의존성이 없습니다. 요청은 Net::HTTP를 거치며, 하나의 클라이언트가 스레드 간에 공유하고 fork 후에 다시 만드는 keep-alive 연결 풀을 사용합니다. timeout:은 시도 하나 전체의 상한입니다.
  • 읽기, 발송, 그리고 반복해도 안전한 모든 쓰기는 408, 500, 502, 503, 504에서 백오프와 함께 재시도되며, 429에서는 Retry-After가 1분 이하일 때만 재시도됩니다. 모든 발송에는 재시도에서 재사용되는 멱등성 키가 붙습니다.
  • 클라이언트는 이 컴퓨터 외의 곳으로 암호화되지 않은 http:를 통해 자격 증명을 보내기를 거부하고, 0.0.0.0의 base_url을 거부하며, 요청을 쪼갤 수 있는 헤더를 거부하고, raw.request가 기본 URL의 오리진을 벗어나는 것을 절대 허용하지 않습니다.