commit ae97175de080db6762b31546a7e2cceef0cda0fa156e9f003d70b6d779b1a9dc Author: Marcus Rueckert Date: Tue Jan 28 17:42:25 2025 +0000 - Drop unneeded build dependencies * upstream [dev] section is not needed for us - Rewrite %{python_sitelib} in %files to respect %primary_python OBS-URL: https://build.opensuse.org/package/show/network:utilities/httpie?expand=0&rev=35 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..2da0f8f --- /dev/null +++ b/_service @@ -0,0 +1,15 @@ + + + 3.2.4 + https://github.com/httpie/cli.git + 2105caa49bae87c5809c274e407619a0de2639d1 + 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-3.2.4.1730482196.2105caa.obscpio b/cli-3.2.4.1730482196.2105caa.obscpio new file mode 100644 index 0000000..6ff057d --- /dev/null +++ b/cli-3.2.4.1730482196.2105caa.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:7ce13f3ce3f7a3b7c23770748b053520d7c6f956af99a4cac4d6fa78f77734ab +size 2150412 diff --git a/cli.obsinfo b/cli.obsinfo new file mode 100644 index 0000000..e5709e1 --- /dev/null +++ b/cli.obsinfo @@ -0,0 +1,4 @@ +name: cli +version: 3.2.4.1730482196.2105caa +mtime: 1730482196 +commit: 2105caa49bae87c5809c274e407619a0de2639d1 diff --git a/http.1 b/http.1 new file mode 100644 index 0000000..9c51699 --- /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.4" "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..01806ca --- /dev/null +++ b/httpie.changes @@ -0,0 +1,318 @@ +------------------------------------------------------------------- +Tue Jan 21 13:32:48 UTC 2025 - Markéta Machová + +- Drop unneeded build dependencies + * upstream [dev] section is not needed for us +- Rewrite %{python_sitelib} in %files to respect %primary_python + +------------------------------------------------------------------- +Tue Dec 23 02:36:08 UTC 2024 - Simon Vogl + +- Change python version back to 3.11 because too many tests fail + with 3.12 and higher + +------------------------------------------------------------------- +Sat Nov 23 20:22:17 UTC 2024 - Simon Vogl + +- Update to version 3.2.4 + * Fix default certs loading and unpin requests. +- Update manpage to version 3.2.4 + +------------------------------------------------------------------- +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..051f199 --- /dev/null +++ b/httpie.spec @@ -0,0 +1,120 @@ +# +# spec file for package httpie +# +# Copyright (c) 2025 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 1730482196 +%define _commit 2105caa + +%define primary_python python311 +%define python_version 3.11 + +Name: httpie +Version: 3.2.4 +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}-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}-multidict >= 4.7.0 +BuildRequires: %{primary_python}-pip +BuildRequires: %{primary_python}-pytest +BuildRequires: %{primary_python}-pytest-httpbin >= 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}-wheel +BuildRequires: fdupes +BuildRequires: python-rpm-macros +Requires: %{primary_python} +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 = %{version} +Provides: python3-httpie = %{version} +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} +%{_prefix}/lib/python%{python_version}/site-packages/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