v / examples / ssl_server / server.v
20 lines · 18 sloc · 544 bytes · c51d30bf5309653c6b573ec815268e69a78ea8cc
Raw
1import io
2import os
3import net.mbedtls
4
5fn main() {
6 mut server := mbedtls.new_ssl_listener('0.0.0.0:8443', mbedtls.SSLConnectConfig{
7 verify: os.resource_abs_path('cert/ca.crt')
8 cert: os.resource_abs_path('cert/server.crt')
9 cert_key: os.resource_abs_path('cert/server.key')
10 validate: true // mTLS
11 })!
12
13 mut client := server.accept()!
14 mut reader := io.new_buffered_reader(reader: client)
15 mut request := reader.read_line()!
16 println(request)
17 client.write_string('HTTP/1.1 200 OK\r\n')!
18 client.shutdown()!
19 server.shutdown()!
20}
21