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
This commit is contained in:
Dirk Mueller 2024-07-18 07:41:20 +00:00 committed by Git OBS Bridge
commit fa755d81cc
9 changed files with 1075 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
.osc

15
_service Normal file
View File

@ -0,0 +1,15 @@
<services>
<service name="obs_scm" mode="manual">
<param name="versionprefix">3.2.3</param>
<param name="url">https://github.com/httpie/cli.git</param>
<param name="revision">f4cf43ecdd6c5c52b5c4ba91086d5c6ccfebcd6d</param>
<param name="scm">git</param>
<param name="submodules">enable</param>
<param name="changesgenerate">disable</param>
</service>
<service name="tar" mode="buildtime"/>
<service name="recompress" mode="buildtime">
<param name="compression">gz</param>
<param name="file">*.tar</param>
</service>
</services>

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f3c0ea874cbf202153e32251af4630340d8388c4a7b656174c61c586d10b956d
size 2149900

4
cli.obsinfo Normal file
View File

@ -0,0 +1,4 @@
name: cli
version: 3.2.3.1720621443.f4cf43e
mtime: 1720621443
commit: f4cf43ecdd6c5c52b5c4ba91086d5c6ccfebcd6d

600
http.1 Normal file
View File

@ -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. <https://httpie.io>
.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]/<HOST>/<SESSION_NAME>.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

3
httpie-3.2.2.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:797fe33afe3bf0a4364a869a7d73f5c728f67d4ac47039be41e08bd564f86bb0
size 1279185

298
httpie.changes Normal file
View File

@ -0,0 +1,298 @@
-------------------------------------------------------------------
Wed Jul 10 15:52:33 UTC 2024 - Simon Vogl <simon.vogl@gmx.net>
- 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 <simon.vogl@gmx.net>
- Temporarily disable tests that fail with python 3.11
-------------------------------------------------------------------
Wed Jun 14 21:50:14 UTC 2023 - Simon Vogl <simon.vogl@gmx.net>
- 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 <simon.vogl@gmx.net>
- 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 <mardnh@gmx.de>
- 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` doesnt
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 <mardnh@gmx.de>
- 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=<n>.
* 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 <rombert@apache.org>
- Disable tests that fail in OBS
-------------------------------------------------------------------
Wed Jan 20 08:08:04 UTC 2021 - Dirk Müller <dmueller@suse.com>
- 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 <dmueller@suse.com>
- 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 <mardnh@gmx.de>
- 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 <mcepl@suse.com>
- Don't use %python3_only command, but properly use alternatives.
-------------------------------------------------------------------
Sun Jan 12 10:25:17 UTC 2020 - Martin Hauke <mardnh@gmx.de>
- 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 Pythons 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 <mardnh@gmx.de>
- 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 <mardnh@gmx.de>
- 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 <jengelh@inai.de>
- 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 <URL_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=<PROTOCOL> 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)

128
httpie.spec Normal file
View File

@ -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