atomvm_gleam/ssl

Types

Errors from :ssl.

pub type Error {
  Failed
  NotSupported
  Badarg
  Timeout
  Closed
  Nxdomain
  Other(String)
}

Constructors

  • Failed
  • NotSupported
  • Badarg
  • Timeout
  • Closed
  • Nxdomain
  • Other(String)

Client options for connect.

The FFI always adds {active, false} and binary, which AtomVM requires.

pub type Options {
  Options(
    verify: option.Option(Verify),
    server_name_indication: option.Option(ServerNameIndication),
  )
}

Constructors

server_name_indication client option.

pub type ServerNameIndication {
  Hostname(String)
  Disabled
}

Constructors

  • Hostname(String)
  • Disabled

Opaque SSL socket (sslsocket()).

pub type Socket

TLS verify mode passed through to ssl options.

AtomVM 0.7 documents {verify, verify_none} as the supported client verify option.

pub type Verify {
  VerifyNone
}

Constructors

  • VerifyNone

Values

pub fn close(socket: Socket) -> Result(Nil, Error)

Close the SSL socket.

See ssl:close/1.

pub fn connect(
  host: String,
  port: Int,
  options: Options,
) -> Result(Socket, Error)

Connect as a TLS client to host:port.

See ssl:connect/3.

pub fn default_options() -> Options

Empty options (driver / AtomVM defaults, plus required {active, false}).

pub fn error_to_string(error: Error) -> String

Format an Error for logging.

pub fn recv(
  socket: Socket,
  length: Int,
) -> Result(BitArray, Error)

Receive up to length bytes (0 = read available data).

See ssl:recv/2.

pub fn send(socket: Socket, data: BitArray) -> Result(Nil, Error)

Send data on an SSL socket.

See ssl:send/2.

pub fn start() -> Nil

Start the SSL application.

See ssl:start/0.

pub fn stop() -> Nil

Stop the SSL application.

See ssl:stop/0.

✨ Search Document