Skip to content

Commit

Permalink
curl: added --styled-output
Browse files Browse the repository at this point in the history
It is enabled by default, so --no-styled-output will switch off the
detection/use of bold headers.

Closes #2538
  • Loading branch information
bagder committed May 21, 2018
1 parent c1c2762 commit f3d836b
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 5 deletions.
3 changes: 2 additions & 1 deletion docs/cmdline-opts/Makefile.inc
Expand Up @@ -46,6 +46,7 @@ DPAGES = abstract-unix-socket.d anyauth.d append.d basic.d cacert.d capath.d cer
tlsauthtype.d tlspassword.d tlsuser.d tlsv1.0.d tlsv1.1.d tlsv1.2.d \
tlsv1.3.d tlsv1.d trace-ascii.d trace.d trace-time.d tr-encoding.d \
unix-socket.d upload-file.d url.d use-ascii.d user-agent.d user.d \
verbose.d version.d write-out.d xattr.d request-target.d
verbose.d version.d write-out.d xattr.d request-target.d \
styled-output.d

OTHERPAGES = page-footer page-header
6 changes: 6 additions & 0 deletions docs/cmdline-opts/styled-output.d
@@ -0,0 +1,6 @@
Long: styled-output
Help: Enable styled output for HTTP headers
Added: 7.61.0
---
Enables the automatic use of bold font styles when writing HTTP headers to the
terminal. Use --no-styled-output to switch them off.
2 changes: 1 addition & 1 deletion src/tool_cb_hdr.c
Expand Up @@ -163,7 +163,7 @@ size_t tool_header_cb(char *ptr, size_t size, size_t nmemb, void *userdata)
if(!outs->stream && !tool_create_output_file(outs, FALSE))
return failure;

if(hdrcbdata->global->isatty)
if(hdrcbdata->global->isatty && hdrcbdata->global->styled_output)
value = memchr(ptr, ':', cb);
if(value) {
size_t namelen = value - ptr;
Expand Down
1 change: 1 addition & 0 deletions src/tool_cfgable.h
Expand Up @@ -276,6 +276,7 @@ struct GlobalConfig {
int progressmode; /* CURL_PROGRESS_BAR / CURL_PROGRESS_STATS */
char *libcurl; /* Output libcurl code to this file name */
bool fail_early; /* exit on first transfer error */
bool styled_output; /* enable fancy output style detection */
struct OperationConfig *first;
struct OperationConfig *current;
struct OperationConfig *last; /* Always last in the struct */
Expand Down
7 changes: 5 additions & 2 deletions src/tool_getparam.c
Expand Up @@ -260,6 +260,7 @@ static const struct LongShort aliases[]= {
{"EB", "socks5-gssapi", ARG_BOOL},
{"f", "fail", ARG_BOOL},
{"fa", "fail-early", ARG_BOOL},
{"fb", "styled-output", ARG_BOOL},
{"F", "form", ARG_STRING},
{"Fs", "form-string", ARG_STRING},
{"g", "globoff", ARG_BOOL},
Expand Down Expand Up @@ -1643,8 +1644,10 @@ ParameterError getparameter(const char *flag, /* f or -long-flag */
case 'a': /* --fail-early */
global->fail_early = toggle;
break;
default:
/* fail hard on errors */
case 'b': /* --styled-output */
global->styled_output = toggle;
break;
default: /* --fail (hard on errors) */
config->failonerror = toggle;
}
break;
Expand Down
2 changes: 2 additions & 0 deletions src/tool_help.c
Expand Up @@ -414,6 +414,8 @@ static const struct helptxt helptext[] = {
"Use SSLv3"},
{" --stderr",
"Where to redirect stderr"},
{" --styled-output",
"Enable styled output for HTTP headers"},
{" --suppress-connect-headers",
"Suppress proxy CONNECT response headers"},
{" --tcp-fastopen",
Expand Down
3 changes: 2 additions & 1 deletion src/tool_main.c
Expand Up @@ -5,7 +5,7 @@
* | (__| |_| | _ <| |___
* \___|\___/|_| \_\_____|
*
* Copyright (C) 1998 - 2017, Daniel Stenberg, <daniel@haxx.se>, et al.
* Copyright (C) 1998 - 2018, Daniel Stenberg, <daniel@haxx.se>, et al.
*
* This software is licensed as described in the file COPYING, which
* you should have received as part of this distribution. The terms
Expand Down Expand Up @@ -147,6 +147,7 @@ static CURLcode main_init(struct GlobalConfig *config)
/* Initialise the global config */
config->showerror = -1; /* Will show errors */
config->errors = stderr; /* Default errors to stderr */
config->styled_output = TRUE; /* enable detection */

/* Allocate the initial operate config */
config->first = config->last = malloc(sizeof(struct OperationConfig));
Expand Down

0 comments on commit f3d836b

Please sign in to comment.