commit fa755d81cc4c0b68f93eddd1c5964a594f2183dc7702adc45d8a089a72f4fde1 Author: Dirk Mueller Date: Thu Jul 18 07:41:20 2024 +0000 Accepting request 1186646 from home:DarkWav Update to version 3.2.3 Switch to generating tarball directly from git to harden package against supply chain attacks If you have any suggestions for improvement, please let me know! OBS-URL: https://build.opensuse.org/request/show/1186646 OBS-URL: https://build.opensuse.org/package/show/network:utilities/httpie?expand=0&rev=30 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_service b/_service new file mode 100644 index 0000000..6db07f8 --- /dev/null +++ b/_service @@ -0,0 +1,15 @@ + + + 3.2.3 + https://github.com/httpie/cli.git + f4cf43ecdd6c5c52b5c4ba91086d5c6ccfebcd6d + git + enable + disable + + + + gz + *.tar + + diff --git a/cli-3.2.3.1720621443.f4cf43e.obscpio b/cli-3.2.3.1720621443.f4cf43e.obscpio new file mode 100644 index 0000000..fc0df56 --- /dev/null +++ b/cli-3.2.3.1720621443.f4cf43e.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3c0ea874cbf202153e32251af4630340d8388c4a7b656174c61c586d10b956d +size 2149900 diff --git a/cli.obsinfo b/cli.obsinfo new file mode 100644 index 0000000..4a1700b --- /dev/null +++ b/cli.obsinfo @@ -0,0 +1,4 @@ +name: cli +version: 3.2.3.1720621443.f4cf43e +mtime: 1720621443 +commit: f4cf43ecdd6c5c52b5c4ba91086d5c6ccfebcd6d diff --git a/http.1 b/http.1 new file mode 100644 index 0000000..6127781 --- /dev/null +++ b/http.1 @@ -0,0 +1,600 @@ +.\" This file is auto-generated from the parser declaration in httpie/cli/definition.py by extras/scripts/generate_man_pages.py. +.TH http 1 "2024-07-10" "HTTPie 3.2.3" "HTTPie Manual" +.SH NAME +http +.SH SYNOPSIS +http [METHOD] URL [REQUEST_ITEM ...] + +.SH DESCRIPTION +HTTPie: modern, user-friendly command-line HTTP client for the API era. +.SH Positional arguments + +These arguments come after any flags and in the order they are listed here. +Only URL is required. + +.IP "\fB\,METHOD\/\fR" + + +The HTTP method to be used for the request (GET, POST, PUT, DELETE, ...). + +This argument can be omitted in which case HTTPie will use POST if there +is some data to be sent, otherwise GET: + + $ http example.org # => GET + $ http example.org hello=world # => POST + + + +.IP "\fB\,URL\/\fR" + + +The request URL. Scheme defaults to \[aq]http://\[aq] if the URL +does not include one. (You can override this with: \fB\,--default-scheme\/\fR=http/https) + +You can also use a shorthand for localhost + + $ http :3000 # => http://localhost:3000 + $ http :/foo # => http://localhost/foo + + + +.IP "\fB\,REQUEST_ITEM\/\fR" + + +Optional key-value pairs to be included in the request. The separator used +determines the type: + +\[aq]:\[aq] HTTP headers: + + Referer:https://httpie.io Cookie:foo=bar User-Agent:bacon/1.0 + +\[aq]==\[aq] URL parameters to be appended to the request URI: + + search==httpie + +\[aq]=\[aq] Data fields to be serialized into a JSON object (with \fB\,--json\/\fR, \fB\,-j\/\fR) + or form data (with \fB\,--form\/\fR, \fB\,-f\/\fR): + + name=HTTPie language=Python description=\[aq]CLI HTTP client\[aq] + +\[aq]:=\[aq] Non-string JSON data fields (only with \fB\,--json\/\fR, \fB\,-j\/\fR): + + awesome:=true amount:=42 colors:=\[aq][\[dq]red\[dq], \[dq]green\[dq], \[dq]blue\[dq]]\[aq] + +\[aq]@\[aq] Form file fields (only with \fB\,--form\/\fR or \fB\,--multipart\/\fR): + + cv@\(ti/Documents/CV.pdf + cv@\[aq]\(ti/Documents/CV.pdf;type=application/pdf\[aq] + +\[aq]=@\[aq] A data field like \[aq]=\[aq], but takes a file path and embeds its content: + + essay=@Documents/essay.txt + +\[aq]:=@\[aq] A raw JSON field like \[aq]:=\[aq], but takes a file path and embeds its content: + + package:=@./package.json + +You can use a backslash to escape a colliding separator in the field name: + + field-name-with\e:colon=value + + + +.PP +.SH Predefined content types +.IP "\fB\,--json\/\fR, \fB\,-j\/\fR" + + +(default) Data items from the command line are serialized as a JSON object. +The Content-Type and Accept headers are set to application/json +(if not specified). + + + +.IP "\fB\,--form\/\fR, \fB\,-f\/\fR" + + +Data items from the command line are serialized as form fields. + +The Content-Type is set to application/x-www-form-urlencoded (if not +specified). The presence of any file fields results in a +multipart/form-data request. + + + +.IP "\fB\,--multipart\/\fR" + + +Similar to \fB\,--form\/\fR, but always sends a multipart/form-data request (i.e., even without files). + + +.IP "\fB\,--boundary\/\fR" + + +Specify a custom boundary string for multipart/form-data requests. Only has effect only together with \fB\,--form\/\fR. + + +.IP "\fB\,--raw\/\fR" + + +This option allows you to pass raw request data without extra processing +(as opposed to the structured request items syntax): + + $ http \fB\,--raw\/\fR=\[aq]data\[aq] pie.dev/post + +You can achieve the same by piping the data via stdin: + + $ echo data | http pie.dev/post + +Or have HTTPie load the raw data from a file: + + $ http pie.dev/post @data.txt + + + + +.PP +.SH Content processing options +.IP "\fB\,--compress\/\fR, \fB\,-x\/\fR" + + +Content compressed (encoded) with Deflate algorithm. +The Content-Encoding header is set to deflate. + +Compression is skipped if it appears that compression ratio is +negative. Compression can be forced by repeating the argument. + + + +.PP +.SH Output processing +.IP "\fB\,--pretty\/\fR" + + +Controls output processing. The value can be \[dq]none\[dq] to not prettify +the output (default for redirected output), \[dq]all\[dq] to apply both colors +and formatting (default for terminal output), \[dq]colors\[dq], or \[dq]format\[dq]. + + + +.IP "\fB\,--style\/\fR, \fB\,-s\/\fR \fI\,STYLE\/\fR" + + +Output coloring style (default is \[dq]auto\[dq]). It can be one of: + + auto, pie, pie-dark, pie-light, solarized + + +For finding out all available styles in your system, try: + +$ http \fB\,--style\/\fR + +The \[dq]auto\[dq] style follows your terminal\[aq]s ANSI color styles. +For non-auto styles to work properly, please make sure that the +$TERM environment variable is set to \[dq]xterm-256color\[dq] or similar +(e.g., via `export TERM=xterm-256color\[aq] in your \(ti/.bashrc). + +.IP "\fB\,--unsorted\/\fR" + + +Disables all sorting while formatting output. It is a shortcut for: + + \fB\,--format-options\/\fR=headers.sort:false,json.sort_keys:false + + + +.IP "\fB\,--sorted\/\fR" + + +Re-enables all sorting options while formatting output. It is a shortcut for: + + \fB\,--format-options\/\fR=headers.sort:true,json.sort_keys:true + + + +.IP "\fB\,--response-charset\/\fR \fI\,ENCODING\/\fR" + + +Override the response encoding for terminal display purposes, e.g.: + + \fB\,--response-charset\/\fR=utf8 + \fB\,--response-charset\/\fR=big5 + + + +.IP "\fB\,--response-mime\/\fR \fI\,MIME_TYPE\/\fR" + + +Override the response mime type for coloring and formatting for the terminal, e.g.: + + \fB\,--response-mime\/\fR=application/json + \fB\,--response-mime\/\fR=text/xml + + + +.IP "\fB\,--format-options\/\fR" + + +Controls output formatting. Only relevant when formatting is enabled +through (explicit or implied) \fB\,--pretty\/\fR=all or \fB\,--pretty\/\fR=format. +The following are the default options: + + headers.sort:true + json.format:true + json.indent:4 + json.sort_keys:true + xml.format:true + xml.indent:2 + +You may use this option multiple times, as well as specify multiple +comma-separated options at the same time. For example, this modifies the +settings to disable the sorting of JSON keys, and sets the indent size to 2: + + \fB\,--format-options\/\fR json.sort_keys:false,json.indent:2 + +This is something you will typically put into your config file. + + + +.PP +.SH Output options +.IP "\fB\,--print\/\fR, \fB\,-p\/\fR \fI\,WHAT\/\fR" + + +String specifying what the output should contain: + + \[aq]H\[aq] request headers + \[aq]B\[aq] request body + \[aq]h\[aq] response headers + \[aq]b\[aq] response body + \[aq]m\[aq] response metadata + +The default behaviour is \[aq]hb\[aq] (i.e., the response +headers and body is printed), if standard output is not redirected. +If the output is piped to another program or to a file, then only the +response body is printed by default. + + + +.IP "\fB\,--headers\/\fR, \fB\,-h\/\fR" + + +Print only the response headers. Shortcut for \fB\,--print\/\fR=h. + + + +.IP "\fB\,--meta\/\fR, \fB\,-m\/\fR" + + +Print only the response metadata. Shortcut for \fB\,--print\/\fR=m. + + + +.IP "\fB\,--body\/\fR, \fB\,-b\/\fR" + + +Print only the response body. Shortcut for \fB\,--print\/\fR=b. + + + +.IP "\fB\,--verbose\/\fR, \fB\,-v\/\fR" + + +Verbose output. For the level one (with single `\fB\,-v\/\fR`/`\fB\,--verbose\/\fR`), print +the whole request as well as the response. Also print any intermediary +requests/responses (such as redirects). For the second level and higher, +print these as well as the response metadata. + +Level one is a shortcut for: \fB\,--all\/\fR \fB\,--print\/\fR=BHbh +Level two is a shortcut for: \fB\,--all\/\fR \fB\,--print\/\fR=BHbhm + + +.IP "\fB\,--all\/\fR" + + +By default, only the final request/response is shown. Use this flag to show +any intermediary requests/responses as well. Intermediary requests include +followed redirects (with \fB\,--follow\/\fR), the first unauthorized request when +Digest auth is used (\fB\,--auth\/\fR=digest), etc. + + + +.IP "\fB\,--stream\/\fR, \fB\,-S\/\fR" + + +Always stream the response body by line, i.e., behave like `tail \fB\,-f\/\fR\[aq]. + +Without \fB\,--stream\/\fR and with \fB\,--pretty\/\fR (either set or implied), +HTTPie fetches the whole response before it outputs the processed data. + +Set this option when you want to continuously display a prettified +long-lived response, such as one from the Twitter streaming API. + +It is useful also without \fB\,--pretty\/\fR: It ensures that the output is flushed +more often and in smaller chunks. + + + +.IP "\fB\,--output\/\fR, \fB\,-o\/\fR \fI\,FILE\/\fR" + + +Save output to FILE instead of stdout. If \fB\,--download\/\fR is also set, then only +the response body is saved to FILE. Other parts of the HTTP exchange are +printed to stderr. + + + +.IP "\fB\,--download\/\fR, \fB\,-d\/\fR" + + +Do not print the response body to stdout. Rather, download it and store it +in a file. The filename is guessed unless specified with \fB\,--output\/\fR +[filename]. This action is similar to the default behaviour of wget. + + + +.IP "\fB\,--continue\/\fR, \fB\,-c\/\fR" + + +Resume an interrupted download. Note that the \fB\,--output\/\fR option needs to be +specified as well. + + + +.IP "\fB\,--quiet\/\fR, \fB\,-q\/\fR" + + +Do not print to stdout or stderr, except for errors and warnings when provided once. +Provide twice to suppress warnings as well. +stdout is still redirected if \fB\,--output\/\fR is specified. +Flag doesn\[aq]t affect behaviour of download beyond not printing to terminal. + + + +.PP +.SH Sessions +.IP "\fB\,--session\/\fR \fI\,SESSION_NAME_OR_PATH\/\fR" + + +Create, or reuse and update a session. Within a session, custom headers, +auth credential, as well as any cookies sent by the server persist between +requests. + +Session files are stored in: + + [HTTPIE_CONFIG_DIR]//.json. + +See the following page to find out your default HTTPIE_CONFIG_DIR: + + https://httpie.io/docs/cli/config-file-directory + + +.IP "\fB\,--session-read-only\/\fR \fI\,SESSION_NAME_OR_PATH\/\fR" + + +Create or read a session without updating it form the request/response +exchange. + + + +.PP +.SH Authentication +.IP "\fB\,--auth\/\fR, \fB\,-a\/\fR \fI\,USER[:PASS] | TOKEN\/\fR" + + +For username/password based authentication mechanisms (e.g +basic auth or digest auth) if only the username is provided +(\fB\,-a\/\fR username), HTTPie will prompt for the password. + + + +.IP "\fB\,--auth-type\/\fR, \fB\,-A\/\fR" + + +The authentication mechanism to be used. Defaults to \[dq]basic\[dq]. + +\[dq]basic\[dq]: Basic HTTP auth + +\[dq]digest\[dq]: Digest HTTP auth + +\[dq]bearer\[dq]: Bearer HTTP Auth + +To see all available auth types on your system, including ones installed via plugins, run: + +$ http \fB\,--auth-type\/\fR + +.IP "\fB\,--ignore-netrc\/\fR" + + +Ignore credentials from .netrc. + + +.PP +.SH Network +.IP "\fB\,--offline\/\fR" + + +Build the request and print it but don\(gat actually send it. + + +.IP "\fB\,--proxy\/\fR \fI\,PROTOCOL:PROXY_URL\/\fR" + + +String mapping protocol to the URL of the proxy +(e.g. http:http://foo.bar:3128). You can specify multiple proxies with +different protocols. The environment variables $ALL_PROXY, $HTTP_PROXY, +and $HTTPS_proxy are supported as well. + + + +.IP "\fB\,--follow\/\fR, \fB\,-F\/\fR" + + +Follow 30x Location redirects. + + +.IP "\fB\,--max-redirects\/\fR" + + +By default, requests have a limit of 30 redirects (works with \fB\,--follow\/\fR). + + + +.IP "\fB\,--max-headers\/\fR" + + +The maximum number of response headers to be read before giving up (default 0, i.e., no limit). + + +.IP "\fB\,--timeout\/\fR \fI\,SECONDS\/\fR" + + +The connection timeout of the request in seconds. +The default value is 0, i.e., there is no timeout limit. +This is not a time limit on the entire response download; +rather, an error is reported if the server has not issued a response for +timeout seconds (more precisely, if no bytes have been received on +the underlying socket for timeout seconds). + + + +.IP "\fB\,--check-status\/\fR" + + +By default, HTTPie exits with 0 when no network or other fatal errors +occur. This flag instructs HTTPie to also check the HTTP status code and +exit with an error if the status indicates one. + +When the server replies with a 4xx (Client Error) or 5xx (Server Error) +status code, HTTPie exits with 4 or 5 respectively. If the response is a +3xx (Redirect) and \fB\,--follow\/\fR hasn\[aq]t been set, then the exit status is 3. +Also an error message is written to stderr if stdout is redirected. + + + +.IP "\fB\,--path-as-is\/\fR" + + +Bypass dot segment (/../ or /./) URL squashing. + + +.IP "\fB\,--chunked\/\fR" + + +Enable streaming via chunked transfer encoding. The Transfer-Encoding header is set to chunked. + + +.PP +.SH SSL +.IP "\fB\,--verify\/\fR" + + +Set to \[dq]no\[dq] (or \[dq]false\[dq]) to skip checking the host\[aq]s SSL certificate. +Defaults to \[dq]yes\[dq] (\[dq]true\[dq]). You can also pass the path to a CA_BUNDLE file +for private certs. (Or you can set the REQUESTS_CA_BUNDLE environment +variable instead.) + + +.IP "\fB\,--ssl\/\fR" + + +The desired protocol version to use. This will default to +SSL v2.3 which will negotiate the highest protocol that both +the server and your installation of OpenSSL support. Available protocols +may vary depending on OpenSSL installation (only the supported ones +are shown here). + + + +.IP "\fB\,--ciphers\/\fR" + + + +A string in the OpenSSL cipher list format. + + +See `http \fB\,--help\/\fR` for the default ciphers list on you system. + + + + + +.IP "\fB\,--cert\/\fR" + + +You can specify a local cert to use as client side SSL certificate. +This file may either contain both private key and certificate or you may +specify \fB\,--cert-key\/\fR separately. + + + +.IP "\fB\,--cert-key\/\fR" + + +The private key to use with SSL. Only needed if \fB\,--cert\/\fR is given and the +certificate file does not contain the private key. + + + +.IP "\fB\,--cert-key-pass\/\fR" + + +The passphrase to be used to with the given private key. Only needed if \fB\,--cert-key\/\fR +is given and the key file requires a passphrase. +If not provided, you\(gall be prompted interactively. + + +.PP +.SH Troubleshooting +.IP "\fB\,--ignore-stdin\/\fR, \fB\,-I\/\fR" + + +Do not attempt to read stdin + + +.IP "\fB\,--help\/\fR" + + +Show this help message and exit. + + +.IP "\fB\,--manual\/\fR" + + +Show the full manual. + + +.IP "\fB\,--version\/\fR" + + +Show version and exit. + + +.IP "\fB\,--traceback\/\fR" + + +Prints the exception traceback should one occur. + + +.IP "\fB\,--default-scheme\/\fR" + + +The default scheme to use if not specified in the URL. + + +.IP "\fB\,--debug\/\fR" + + +Prints the exception traceback should one occur, as well as other +information useful for debugging HTTPie itself and for reporting bugs. + + + +.PP +.SH SEE ALSO + +For every \fB\,--OPTION\/\fR there is also a \fB\,--no-OPTION\/\fR that reverts OPTION +to its default value. + +Suggestions and bug reports are greatly appreciated: +https://github.com/httpie/cli/issues \ No newline at end of file diff --git a/httpie-3.2.2.tar.gz b/httpie-3.2.2.tar.gz new file mode 100644 index 0000000..3cd997e --- /dev/null +++ b/httpie-3.2.2.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:797fe33afe3bf0a4364a869a7d73f5c728f67d4ac47039be41e08bd564f86bb0 +size 1279185 diff --git a/httpie.changes b/httpie.changes new file mode 100644 index 0000000..2cd4d4d --- /dev/null +++ b/httpie.changes @@ -0,0 +1,298 @@ +------------------------------------------------------------------- +Wed Jul 10 15:52:33 UTC 2024 - Simon Vogl + +- Update to version 3.2.3 + * Fix SSL connections by pinning the requests version to 2.31.0. + * Make it possible to unset the User-Agent and Accept-Encoding + request headers. +- Update manpage to version 3.2.3 +- Switch to generating tarball directly from git to harden package + against supply chain attacks + +------------------------------------------------------------------- +Fri Jun 23 20:18:48 UTC 2023 - Simon Vogl + +- Temporarily disable tests that fail with python 3.11 + +------------------------------------------------------------------- +Wed Jun 14 21:50:14 UTC 2023 - Simon Vogl + +- Enforce building against the primary python version of the + current OBS project to avoid build errors + +------------------------------------------------------------------- +Sat May 20 06:14:41 UTC 2023 - Simon Vogl + +- Update to version 3.2.2 + * Major version upgrade, expect API breakage + * Too many changes since 2.6.0 to list here, for a full changelog + please visit: + https://github.com/httpie/httpie/blob/master/CHANGELOG.md +- Disable more tests that fail in OBS +- Update dependencies +- Update fdupes deduplication +- Add bash and fish completion support + +------------------------------------------------------------------- +Tue Apr 26 06:14:41 UTC 2022 - pgajdos@suse.com + +- python3-mock is not required for build + +------------------------------------------------------------------- +Sun Oct 17 13:52:17 UTC 2021 - Martin Hauke + +- Update to version 2.6.0 + * Added support for formatting & coloring of JSON bodies + preceded by non-JSON data (e.g., an XXSI prefix). + * Added charset auto-detection when `Content-Type` doesn’t + include it. + * Added `--response-charset` to allow overriding the response + encoding for terminal display purposes. + * Added `--response-mime` to allow overriding the response mime + type for coloring and formatting for the terminal. + * Added the ability to silence warnings through using `-q` or + `--quiet` twice (e.g. `-qq`). + * Added installed plugin list to `--debug` output. + * Fixed duplicate keys preservation in JSON data. + +------------------------------------------------------------------- +Mon Sep 6 19:32:01 UTC 2021 - Martin Hauke + +- Fix tests +- Update dependencies +- Update to version 2.5.0 + * Added --raw to allow specifying the raw request body without + extra processing as an alternative to stdin. + * Added support for XML formatting. + * Added internal support for file-like object responses to + improve adapter plugin support. + * Fixed --continue --download with a single byte to be + downloaded left. + * Fixed --verbose HTTP 307 redirects with streamed request body. + * Fixed handling of session files with Cookie: followed by other + headers. +- Update to version 2.4.0 + * Added support for --session cookie expiration based on + Set-Cookie: max-age=. + * Show a --check-status warning with --quiet as well, not only + when the output is redirected. + * Fixed upload with --session. + * Fixed a missing blank line between request and response. + +------------------------------------------------------------------- +Fri Mar 19 12:26:10 UTC 2021 - Robert Munteanu + +- Disable tests that fail in OBS + +------------------------------------------------------------------- +Wed Jan 20 08:08:04 UTC 2021 - Dirk Müller + +- update to 2.3.0: + * Added support for streamed uploads (#201). + * Added support for multipart upload streaming (#684). + * Added support for body-from-file upload streaming (http httpbin.org/post @file). + * Added --chunked to enable chunked transfer encoding (#753). + * Added --multipart to allow multipart/form-data encoding for non-file --form requests as well. + * Added support for preserving field order in multipart requests (#903). + * Added --boundary to allow a custom boundary string for multipart/form-data requests. + * Added support for combining cookies specified on the CLI and in a session file (#932). + * Added out of the box SOCKS support with no extra installation (#904). + * Added --quiet, -q flag to enforce silent behaviour. + * Fixed the handling of invalid expires dates in Set-Cookie headers (#963). + * Removed Tox testing entirely (#943). +- drop httpie-adjust-requirements.patch (obsolete) +- drop singlespec packaging. this is a commandline utility, not a + python module, so building it for multiple versions of python makes + no sense. + +------------------------------------------------------------------- +Tue Aug 18 15:32:42 UTC 2020 - Dirk Mueller + +- update to 2.2.0: + * Added support for custom content types for uploaded files (`#668`_). + * Added support for ``$XDG_CONFIG_HOME`` (`#920`_). + * Added support for ``Set-Cookie``-triggered cookie expiration (`#853`_). + * Added ``--format-options`` to allow disabling sorting, etc. (`#128`_) + * Added ``--sorted`` and ``--unsorted`` shortcuts for (un)setting all sorting-related ``--format-options``. (`#128`_) + * Added ``--ciphers`` to allow configuring OpenSSL ciphers (`#870`_). + * Added ``netrc`` support for auth plugins. Enabled for ``--auth-type=basic`` + and ``digest``, 3rd parties may opt in (`#718`_, `#719`_, `#852`_, `#934`_). + * Fixed built-in plugins-related circular imports (`#925`_). + +------------------------------------------------------------------- +Sat Apr 18 11:41:22 UTC 2020 - Martin Hauke + +- Update to version 2.1.0 + * Added --path-as-is to bypass dot segment (/../ or /./) URL + squashing. + * Changed the default value Accept header value for JSON requests + from application/json, */* to application/json, */*;q=0.5 to + clearly indicate preference. + * Fixed --form file upload mixed with redirected stdin error + handling. + +------------------------------------------------------------------- +Tue Mar 31 16:59:11 UTC 2020 - Matej Cepl + +- Don't use %python3_only command, but properly use alternatives. + +------------------------------------------------------------------- +Sun Jan 12 10:25:17 UTC 2020 - Martin Hauke + +- Update to version 2.0.0 + * Removed Python 2.7 support (Python 3.6+ is now required). + * Added --offline to allow building an HTTP request and printing + it but not actually sending it over the network. + * Replaced the old collect-all-then-process handling of HTTP + communication with one-by-one processing of each HTTP request + or response as they become available. This means that you can + see headers immediately, see what is being send even when the + request fails, etc. + * Removed automatic config file creation to avoid concurrency + issues. + * Removed the default 30-second connection --timeout limit. + * Removed Python’s default limit of 100 response headers. + * Added --max-headers to allow setting the max header limit. + * Added --compress to allow request body compression. + * Added --ignore-netrc to allow bypassing credentials from + .netrc. + * Added https alias command with https:// as the default scheme. + * Added $ALL_PROXY documentation. + * Added type annotations throughout the codebase. + * Added tests/ to the PyPi package for the convenience of + downstream package maintainers. + * Fixed an error when stdin was a closed fd. + * Improved --debug output formatting. +- Update patch: + * httpie-adjust-requirements.patch + +------------------------------------------------------------------- +Sun Dec 22 16:32:41 UTC 2019 - Martin Hauke + +- Add patch: + * httpie-adjust-requirements.patch + Lower requirements for requests and Pygemnts to make it work + on Leap 15.1 + +------------------------------------------------------------------- +Tue Aug 27 14:23:44 UTC 2019 - Martin Hauke + +- Update to version 1.0.3 + * Fix CVE-2019-10751 (HTTPie is volnerable to Open Redirect that + allows an attacker to write an arbitrary file with supplied + filename and content to the current directory, by redirecting + a request from HTTP to a crafted URL pointing to a server in + his or hers control. + +------------------------------------------------------------------- +Sun Dec 16 14:19:43 UTC 2018 - mardnh@gmx.de + +- Add manpage + +------------------------------------------------------------------- +Sat Dec 15 18:33:41 UTC 2018 - Jan Engelhardt + +- Trim bias from description. + +------------------------------------------------------------------- +Wed Dec 12 21:45:43 UTC 2018 - mardnh@gmx.de + +- Cleanup package +- Run tests +- Update to version 1.0.2 + * Fixed tests for installation with pyOpenSSL. + * Removed external URL calls from tests. +- Update to version 1.0.0 + * Added --style=auto which follows the terminal ANSI color styles. + * Added support for selecting TLS 1.3 via --ssl=tls1.3 + * Added true/false as valid values for --verify + * (in addition to yes/no) and the boolean value is case-insensitive. + * Changed the default --style from solarized to auto + * Fixed default headers being incorrectly case-sensitive. + * Removed Python 2.6 support. + +------------------------------------------------------------------- +Thu Aug 10 19:28:22 UTC 2017 - mardnh@gmx.de + +- Fix Url +- Update to version 0.9.8 + * Extended auth plugin API. + * Added exit status code 7 for plugin errors. + * Added support for curses-less Python installations. + * Fixed REQUEST_ITEM arg incorrectly being reported as required. + * Improved CTRL-C interrupt handling. + * Added the standard exit status code 130 for keyboard interrupts. + +- Update to version 0.9.5 + * Added Python 3 as a dependency for Homebrew installations to ensure some of + the newer HTTP features work out of the box for macOS users (starting with + HTTPie 0.9.4.). + * Added the ability to unset a request header with Header:, and send an empty + value with Header;. + * Added --default-scheme to enable things like $ alias https= + 'http --default-scheme=https. + * Added -I as a shortcut for --ignore-stdin. + * Added fish shell completion (located in extras/httpie-completion.fish in + the Github repo). + * Updated requests to 2.10.0 so that SOCKS support can be added via pip + install requests[socks]. + * Changed the default JSON Accept header from application/json to application + /json, */*. + * Changed the pre-processing of request HTTP headers so that any leading and + trailing whitespace is removed. + +- Update to version 0.9.4 + * Added Content-Type of files uploaded in multipart/form-data requests + * Added --ssl= to specify the desired SSL/TLS protocol version to + use for HTTPS requests. + * Added JSON detection with --json, -j to work around incorrect Content-Type + * Added --all to show intermediate responses such as redirects (with --follow + ) + * Added --history-print, -P WHAT to specify formatting of intermediate + responses + * Added --max-redirects=N (default 30) + * Added -A as short name for --auth-type + * Added -F as short name for --follow + * Removed the implicit_content_type config option (use "default_options": + ["--form"] instead) + * Redirected stdout doesn't trigger an error anymore when --output FILE is + set + * Changed the default --style back to solarized for better support of light + and dark terminals + * Improved --debug output + * Fixed --session when used with --download + * Fixed --download to trim too long filenames before saving the file + * Fixed the handling of Content-Type with multiple +subtype parts + * Removed the XML formatter as the implementation suffered from multiple + issues + +- Update to version 0.9.3 + * Changed the default color --style from solarized to monokai + * Added basic Bash autocomplete support (need to be installed manually) + * Added request details to connection error messages + * Fixed 'requests.packages.urllib3' has no attribute 'disable_warnings' + errors that occurred in some installations + * Fixed colors and formatting on Windows + * Fixed --auth prompt on Windows + + +------------------------------------------------------------------- +Fri Sep 25 07:23:14 UTC 2015 - robert.munteanu@gmail.com + +- Add requirement for python-curses + +------------------------------------------------------------------- +Mon Jul 20 09:22:51 UTC 2015 - aloisio@gmx.com + +- Fixed SLE11 build + +------------------------------------------------------------------- +Tue May 19 15:45:31 UTC 2015 - prusnak@opensuse.org + +- updated to 0.9.2 + +------------------------------------------------------------------- +Sun Jun 15 20:46:14 UTC 2014 - prusnak@opensuse.org + +- created package (version 0.8.0) + diff --git a/httpie.spec b/httpie.spec new file mode 100644 index 0000000..4a53687 --- /dev/null +++ b/httpie.spec @@ -0,0 +1,128 @@ +# +# spec file for package httpie +# +# Copyright (c) 2024 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%define _mtime 1720621443 +%define _commit f4cf43e + +Name: httpie +Version: 3.2.3 +Release: 0 +Summary: CLI, cURL-like tool for humans +License: BSD-3-Clause +Group: Productivity/Networking/Web/Utilities +URL: https://httpie.org/ +Source: cli-%{version}.%{_mtime}.%{_commit}.tar.gz +Source1: http.1 +BuildRequires: %{primary_python} +BuildRequires: %{primary_python}-Jinja2 +BuildRequires: %{primary_python}-PySocks +BuildRequires: %{primary_python}-PyYAML +BuildRequires: %{primary_python}-Pygments >= 2.5.2 +BuildRequires: %{primary_python}-Werkzeug +BuildRequires: %{primary_python}-charset-normalizer >= 2.0.0 +BuildRequires: %{primary_python}-defusedxml >= 0.6.0 +BuildRequires: %{primary_python}-flake8 +BuildRequires: %{primary_python}-flake8-comprehensions +BuildRequires: %{primary_python}-flake8-deprecated +BuildRequires: %{primary_python}-multidict >= 4.7.0 +BuildRequires: %{primary_python}-pip +BuildRequires: %{primary_python}-pyOpenSSL +BuildRequires: %{primary_python}-pytest +BuildRequires: %{primary_python}-pytest-cov +BuildRequires: %{primary_python}-pytest-httpbin >= 0.0.6 +BuildRequires: %{primary_python}-pytest-lazy-fixture >= 0.0.6 +BuildRequires: %{primary_python}-pytest-mock +BuildRequires: %{primary_python}-requests >= 2.22.0 +BuildRequires: %{primary_python}-requests-toolbelt >= 0.9.1 +BuildRequires: %{primary_python}-responses +BuildRequires: %{primary_python}-rich >= 9.10.0 +BuildRequires: %{primary_python}-setuptools +BuildRequires: %{primary_python}-twine +BuildRequires: %{primary_python}-wheel +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: %{primary_python} +Requires: %{primary_python}-PySocks +Requires: %{primary_python}-Pygments >= 2.5.2 +Requires: %{primary_python}-charset-normalizer >= 2.0.0 +Requires: %{primary_python}-defusedxml >= 0.6.0 +Requires: %{primary_python}-multidict >= 4.7.0 +Requires: %{primary_python}-pip +Requires: %{primary_python}-requests >= 2.22.0 +Requires: %{primary_python}-requests-toolbelt >= 0.9.1 +Requires: %{primary_python}-rich >= 9.10.0 +Requires: %{primary_python}-setuptools +Provides: %{primary_python}-httpie = 3.2.2 +Provides: python3-httpie = 3.2.2 +Obsoletes: %{primary_python}-httpie < 2.3.0 +Obsoletes: python3-httpie < 2.3.0 +BuildArch: noarch +Requires(post): update-alternatives +Requires(postun): update-alternatives + +%description +HTTPie consists of a single "http" command designed for debugging and +interaction with HTTP servers, RESTful APIs, and web services. + +It allows for issuing arbitrary HTTP requests and displays colorized +responses. + +%prep +%setup -q -n cli-%{version}.%{_mtime}.%{_commit} +#drop shebang +sed -i -e '/^#!\//, 1d' httpie/__main__.py + +%build +export LC_CTYPE=en_US.UTF-8 +python%{python_version} setup.py build + +%install +export LC_CTYPE=en_US.UTF-8 +python%{python_version} setup.py install --root=%{buildroot} +%fdupes %{buildroot}%{_prefix}/lib/python%{python_version}/site-packages +install -D -m 0644 %{SOURCE1} %{buildroot}%{_mandir}/man1/http.1 +mkdir -p %{buildroot}%{_datadir}/bash-completion/completions +# Install bash & fish completion, credit to Fedora for providing this: https://src.fedoraproject.org/rpms/httpie/blob/rawhide/f/httpie.spec +cp -a extras/httpie-completion.bash %{buildroot}%{_datadir}/bash-completion/completions/http +ln -s ./http %{buildroot}%{_datadir}/bash-completion/completions/https +mkdir -p %{buildroot}%{_datadir}/fish/vendor_completions.d/ +cp -a extras/httpie-completion.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/http.fish +ln -s ./http.fish %{buildroot}%{_datadir}/fish/vendor_completions.d/https.fish + +%check +export LC_CTYPE=en_US.UTF-8 +# disable tests that fail on OBS with [Errno -3] Temporary failure in name resolution +# temporarily disable tests that fail with python 3.11 +#pytest --deselect=tests/test_uploads.py --deselect=tests/test_plugins_cli.py +pytest --deselect=tests/test_uploads.py --deselect=tests/test_plugins_cli.py --deselect=tests/test_compress.py --deselect=tests/test_binary.py tests -v + +%files +%doc AUTHORS.md CHANGELOG.md README.md +%license LICENSE +%{_bindir}/http +%{_bindir}/https +%{_bindir}/%{name} +%{python_sitelib}/httpie* +%{_mandir}/man1/http.1%{?ext_man} +%{_mandir}/man1/https.1%{?ext_man} +%{_mandir}/man1/%{name}.1%{?ext_man} +# co-own the entire directory structures, again credit to Fedora: https://src.fedoraproject.org/rpms/httpie/blob/rawhide/f/httpie.spec +%{_datadir}/bash-completion/ +%{_datadir}/fish/ + +%changelog