mirror of
https://github.com/nim-lang/Nim.git
synced 2026-04-17 21:12:42 +00:00
Use onThreadCreation to set default SSL context for each thread (#5265)
Fixes: #4998
This commit is contained in:
committed by
Andreas Rumpf
parent
268c899b98
commit
35d48765fb
@@ -50,13 +50,13 @@
|
||||
##
|
||||
## echo client.postContent("http://validator.w3.org/check", multipart=data)
|
||||
##
|
||||
## You can also make post requests with custom headers.
|
||||
## You can also make post requests with custom headers.
|
||||
## This example sets ``Content-Type`` to ``application/json``
|
||||
## and uses a json object for the body
|
||||
##
|
||||
## .. code-block:: Nim
|
||||
## import httpclient, json
|
||||
##
|
||||
##
|
||||
## let client = newHttpClient()
|
||||
## client.headers = newHttpHeaders({ "Content-Type": "application/json" })
|
||||
## let body = %*{
|
||||
@@ -303,9 +303,12 @@ proc parseResponse(s: Socket, getBody: bool, timeout: int): Response =
|
||||
|
||||
when not defined(ssl):
|
||||
type SSLContext = ref object
|
||||
let defaultSSLContext: SSLContext = nil
|
||||
else:
|
||||
let defaultSSLContext = newContext(verifyMode = CVerifyNone)
|
||||
var defaultSSLContext {.threadvar.}: SSLContext
|
||||
when defined(ssl):
|
||||
defaultSSLContext = newContext(verifyMode = CVerifyNone)
|
||||
when compileOption("threads"):
|
||||
onThreadCreation do ():
|
||||
defaultSSLContext = newContext(verifyMode = CVerifyNone)
|
||||
|
||||
proc newProxy*(url: string, auth = ""): Proxy =
|
||||
## Constructs a new ``TProxy`` object.
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
discard """
|
||||
cmd: "nim c -d:ssl $file"
|
||||
cmd: "nim c --threads:on -d:ssl $file"
|
||||
"""
|
||||
|
||||
import strutils
|
||||
|
||||
Reference in New Issue
Block a user