swagger_filepath=$1 json_content=$(yq -r -o=json "$swagger_filepath") swagger_version=$(echo "$json_content" | jq -r '.swagger // ""') openapi_version=$(echo "$json_content" | jq -r '.openapi // ""') if [[ -n "$swagger_version" ]]; then basepath=$(echo "$json_content" | jq -r '.basePath // ""') elif [[ -n "$openapi_version" ]]; then url=$(yq e '.servers[0].url' $swagger_filepath) before_string="//" find_char="/" before_string_index=$(awk -v a="$url" -v b="$before_string" 'BEGIN{print index(a,b)}') if [[ $before_string_index -ne 0 ]]; then substring=${url#*$before_string} find_char_index=$(awk -v a="$substring" -v b="$find_char" 'BEGIN{print index(a,b)}') if [[ $find_char_index -ne 0 ]]; then basepath="$find_char${substring#*$find_char}" else basepath=$find_char fi else basepath=$find_char fi else echo "Unknown Swagger document version" exit 1 fi echo "basepath = $basepath"
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter