Packages
mist
0.13.1
6.0.3
6.0.2
6.0.1
6.0.0
5.0.4
5.0.3
5.0.2
5.0.1
5.0.0
5.0.0-rc1
4.0.7
4.0.6
4.0.5
4.0.4
4.0.3
4.0.2
4.0.1
4.0.0
3.0.0
2.0.0
1.2.0
1.1.0
1.0.0
1.0.0-rc3
1.0.0-rc2
1.0.0-rc1
0.17.0
0.15.0
0.14.3
0.14.2
0.14.1
0.14.0
0.13.2
0.13.1
0.13.0
0.12.0
0.11.0
0.10.0
0.9.4
0.9.3
0.9.2
0.9.1
0.9.0
0.8.3
0.8.2
0.8.1
0.8.0
0.7.1
0.7.0
0.6.1
0.6.0
0.5.2
0.5.1
0.5.0
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
0.3.3
0.3.2
0.3.1
0.3.0
0.2.1
0.2.0
0.1.3
a misty Gleam web server
Current section
Files
Jump to
Current section
Files
src/mist@internal@file.erl
-module(mist@internal@file).
-compile([no_auto_import, nowarn_unused_vars]).
-export([sendfile/5, stat/1]).
-export_type([file_descriptor/0, file_error/0, file/0]).
-type file_descriptor() :: any().
-type file_error() :: is_dir | no_access | no_entry | unknown_file_error.
-type file() :: {file, file_descriptor(), integer()}.
-spec sendfile(
file_descriptor(),
glisten@socket:socket(),
integer(),
integer(),
list(any())
) -> {ok, integer()} | {error, gleam@erlang@atom:atom_()}.
sendfile(File_descriptor, Socket, Offset, Bytes, Options) ->
file:sendfile(File_descriptor, Socket, Offset, Bytes, Options).
-spec stat(bitstring()) -> {ok, file()} | {error, file_error()}.
stat(Filename) ->
_pipe = Filename,
_pipe@1 = mist_ffi:file_open(_pipe),
gleam@result:map(
_pipe@1,
fun(Fd) ->
File_size = filelib:file_size(Filename),
{file, Fd, File_size}
end
).