Packages
mist
0.9.2
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/file.gleam
import gleam/erlang/atom.{Atom}
import glisten/socket.{Socket}
pub external type FileDescriptor
pub type FileMode {
Raw
}
external fn file_open(
file: BitString,
modes: List(FileMode),
) -> Result(FileDescriptor, Atom) =
"file" "open"
pub external fn size(path: BitString) -> Int =
"filelib" "file_size"
pub external fn uri_unquote(uri: String) -> String =
"uri_string" "unquote"
pub external fn sendfile(
file_descriptor: FileDescriptor,
socket: Socket,
offset: Int,
bytes: Int,
options: List(a),
) -> Result(Int, Atom) =
"file" "sendfile"
pub fn open(file: BitString) -> Result(FileDescriptor, Atom) {
file_open(file, [Raw])
}