Skip to content

Catch HTTP errors that create stacktrace #10

@jeromepin

Description

@jeromepin

When an HTTP error arises, the cliff formatter cannot format the HTTP response according to the object's class, thus it prints a very-not-helpful stacktrace. It would be nice to find a way to catch it.

Example :

[DEBUG] https://localhost:9200 "GET /_cluster/allocation/explain HTTP/1.1" 429 869
[WARNING] GET https://localhost:9200/_cluster/allocation/explain [status:429 request:0.595s]
[DEBUG] > None
[DEBUG] < {
    "error": {
        "root_cause": [
            {
                "type": "circuit_breaking_exception",
                "reason": "[parent] Data too large, data for [<http_request>] would be [2043081104/1.9gb], which is larger than the limit of [2031828992/1.8gb], real usage: [2043081104/1.9gb], new bytes reserved: [0/0b], usages [request=0/0b, fielddata=46926/45.8kb, in_flight_requests=0/0b, accounting=2935216/2.7mb]",
                "bytes_wanted": 2043081104,
                "bytes_limit": 2031828992,
                "durability": "PERMANENT"
            }
        ],
        "type": "circuit_breaking_exception",
        "reason": "[parent] Data too large, data for [<http_request>] would be [2043081104/1.9gb], which is larger than the limit of [2031828992/1.8gb], real usage: [2043081104/1.9gb], new bytes reserved: [0/0b], usages [request=0/0b, fielddata=46926/45.8kb, in_flight_requests=0/0b, accounting=2935216/2.7mb]",
        "bytes_wanted": 2043081104,
        "bytes_limit": 2031828992,
        "durability": "PERMANENT"
    },
    "status": 429
}
[ERROR] cannot unpack non-iterable NoneType object
Traceback (most recent call last):
    File "/Users/jeromepin/.asdf/installs/python/3.7.9/lib/python3.7/site-packages/cliff/app.py", line 400, in run_subcommand
    result = cmd.run(parsed_args)
    File "/Users/jeromepin/.asdf/installs/python/3.7.9/lib/python3.7/site-packages/cliff/display.py", line 117, in run
    column_names, data = self.take_action(parsed_args)
TypeError: cannot unpack non-iterable NoneType object
[DEBUG] got an error: cannot unpack non-iterable NoneType object

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions