1
0
mirror of https://github.com/nlohmann/json synced 2024-11-21 11:40:05 +00:00

Miscellaneous small fixes (#3643)

* serve_header: suppress lgtm warning

* serve_header: fix exit code

* serve_header: replace deprecated ssl.wrap_socket()

* Add checks to unit test readme

* Add lgtm configuration file
This commit is contained in:
Florian Albrechtskirchinger 2022-08-07 13:52:43 +02:00 committed by GitHub
parent f1e34070d2
commit 8eee62d388
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 27 additions and 24 deletions

4
.lgtm.yml Normal file
View File

@ -0,0 +1,4 @@
path_classifiers:
thirdparty:
- /tools/amalgamate
- /tools/cpplint

View File

@ -106,12 +106,10 @@ TEST_CASE("README" * doctest::skip())
json j = "{ \"happy\": true, \"pi\": 3.141 }"_json; // NOLINT(modernize-raw-string-literal)
// or even nicer with a raw string literal
auto j2 = R"(
{
"happy": true,
"pi": 3.141
}
)"_json;
auto j2 = R"({
"happy": true,
"pi": 3.141
})"_json;
// or explicitly
auto j3 = json::parse(R"({"happy": true, "pi": 3.141})");
@ -160,10 +158,10 @@ TEST_CASE("README" * doctest::skip())
CHECK(foo == true);
// other stuff
j.size(); // 3 entries
j.empty(); // false
j.type(); // json::value_t::array
j.clear(); // the array is empty again
CHECK(j.size() == 3); // 3 entries
CHECK_FALSE(j.empty()); // false
CHECK(j.type() == json::value_t::array); // json::value_t::array
j.clear(); // the array is empty again
// create an object
json o;
@ -172,6 +170,7 @@ TEST_CASE("README" * doctest::skip())
o["baz"] = 3.141;
// find an entry
CHECK(o.find("foo") != o.end());
if (o.find("foo") != o.end())
{
// there is an entry with key "foo"
@ -266,9 +265,9 @@ TEST_CASE("README" * doctest::skip())
{
// a JSON value
json j_original = R"({
"baz": ["one", "two", "three"],
"foo": "bar"
})"_json;
"baz": ["one", "two", "three"],
"foo": "bar"
})"_json;
// access members with a JSON pointer (RFC 6901)
j_original["/baz/1"_json_pointer];
@ -276,10 +275,10 @@ TEST_CASE("README" * doctest::skip())
// a JSON patch (RFC 6902)
json j_patch = R"([
{ "op": "replace", "path": "/baz", "value": "boo" },
{ "op": "add", "path": "/hello", "value": ["world"] },
{ "op": "remove", "path": "/foo"}
])"_json;
{ "op": "replace", "path": "/baz", "value": "boo" },
{ "op": "add", "path": "/hello", "value": ["world"] },
{ "op": "remove", "path": "/foo"}
])"_json;
// apply the patch
json j_result = j_original.patch(j_patch);

View File

@ -240,7 +240,7 @@ class WorkTrees(FileSystemEventHandler):
self.observer.stop()
self.observer.join()
class HeaderRequestHandler(SimpleHTTPRequestHandler):
class HeaderRequestHandler(SimpleHTTPRequestHandler): # lgtm[py/missing-call-to-init]
def __init__(self, request, client_address, server):
"""."""
self.worktrees = server.worktrees
@ -388,11 +388,11 @@ if __name__ == '__main__':
if https.get('enabled', True):
cert_file = https.get('cert_file', 'localhost.pem')
key_file = https.get('key_file', 'localhost-key.pem')
ssl.minimum_version = ssl.TLSVersion.TLSv1_3
ssl.maximum_version = ssl.TLSVersion.MAXIMUM_SUPPORTED
httpd.socket = ssl.wrap_socket(httpd.socket,
certfile=cert_file, keyfile=key_file,
server_side=True, ssl_version=ssl.PROTOCOL_TLS)
ssl_ctx = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
ssl_ctx.minimum_version = ssl.TLSVersion.TLSv1_2
ssl_ctx.maximum_version = ssl.TLSVersion.MAXIMUM_SUPPORTED
ssl_ctx.load_cert_chain(cert_file, key_file)
httpd.socket = ssl_ctx.wrap_socket(httpd.socket, server_side=True)
scheme = 'HTTPS'
host, port = httpd.socket.getsockname()[:2]
log.info(f'serving {scheme} on {host} port {port}')
@ -402,8 +402,8 @@ if __name__ == '__main__':
except KeyboardInterrupt:
log.info('exiting')
except Exception:
log.exception('an error occurred:')
ec = 1
log.exception('an error occurred:')
finally:
if worktrees is not None:
worktrees.stop()