summaryrefslogtreecommitdiffstats
path: root/src/rgw/rgw_client_io.h (follow)
Commit message (Collapse)AuthorAgeFilesLines
* rgw: refactor selected files for better above- vs below-the-lineKaleb S. KEITHLEY2023-01-231-4/+1
| | | | | | | Move more files into driver/rados for better above- vs below- the-line. Use #pragma once everywhere (versus fixing all the Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
* rgw: remove unnecessary "struct" from req_state declarationsJ. Eric Ivancich2022-06-221-2/+2
| | | | | | | The "struct" is superfluous and makes it harder for those looking for the definition. Signed-off-by: J. Eric Ivancich <ivancich@redhat.com>
* rgw: build without "using namespace std"Kefu Chai2021-08-131-1/+1
| | | | | | | | | | * add "std::" prefix in headers * add "using" declarations in .cc files. so we don't rely on "using namespace std" in one or more included headers. Signed-off-by: Kefu Chai <kchai@redhat.com>
* src/rgw/rgw_client_io.h: fix a typoSeongyeop Jeong2021-04-011-1/+1
| | | | | | Patch to correct type. Signed-off-by: Seongyeop Jeong <seongyeop.jeong@snu.ac.kr>
* rgw: Replace boost::string_ref/view with std::string_viewPrateek Sachan2020-06-181-7/+6
| | | | | | | This commit replaces boost's string_ref and string_view cpp's in built std::string_view Fixes: https://tracker.ceph.com/issues/39619 Signed-off-by: Prateek Sachan <psachan@cs.iitr.ac.in>
* RGW - Make sure editor settings are correct for all filesDaniel Gryniewicz2019-08-191-1/+1
| | | | Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
* rgw: Use ceph_assert for asserts.Adam C. Emerson2018-08-271-3/+3
| | | | Signed-off-by: Adam C. Emerson <aemerson@redhat.com>
* misc: mark constructors as explicitDanny Al-Gaaf2018-05-021-2/+2
| | | | | | | | | | | | | | | Set 218 constructors as explicit to avoid implicit usage. Fix for cppcheck warning: Class has a constructor with 1 argument that is not explicit. Such constructors should in general be explicit for type safety reasons. Using the explicit keyword in the constructor means some mistakes when using the class can be avoided. For more information check: https://www.codeproject.com/Articles/28663/Explicit-Constructor-in-C Signed-off-by: Danny Al-Gaaf <danny.al-gaaf@bisect.de>
* rgw: make init env methods return an errorAbhishek Lekshmanan2018-02-201-3/+3
| | | | | | | | | | | Since web frontends may signal an error when requests are malformed or so, let us double check this and raise errors early. The current user of this is civetweb frontend; which can potentially return null from `parse_http_headers` when a HTTP header without a ":" is supplied at which point headers.value is null which can lead to undefined behaviour later in RGW. Fixes: http://tracker.ceph.com/issues/23039 Signed-off-by: Abhishek Lekshmanan <abhishek@suse.com>
* cleanup: rgw: fix a typo in commentluomuyao2017-12-201-1/+1
| | | | Signed-off-by: luomuyao <luo.muyao@zte.com.cn>
* Fix bytes_sent bugs.Marcus Watts2017-08-091-2/+2
| | | | | | | | | | | | | | | | | | | log bytes sent/received. add cct to bufferingfilter add cct to RGWRestfulIO AccountingFilter - save cct for debugging output implement AccountingFilter::complete_request() - account for bytes reported here. BufferingFilter<T>::complete_request() - ignore counts from send_content_length() complete_header(); Code quality note: this patch makes "cct" available for a lot of newly added debug statements. The debug statements are mostly not very useful (and should go away in the future) - *But* the "cct" logic should be redone and incorporated into some base class (such RestfulClient) so that it is possible to easily add in debug statements such as these in the future. Fixes: http://tracker.ceph.com/issues/19870 Signed-off-by: Marcus Watts <mwatts@redhat.com>
* rgw: turn AWSv4Completer into a filter over rgw::io::RestfulClient.Radoslaw Zarzynski2017-06-071-10/+9
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: extend RGWRestfulIO to cover dynamic filter injection.Radoslaw Zarzynski2017-06-071-5/+27
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: make AWS_AUTHv4_IO const-friendly and const-correct.Radoslaw Zarzynski2017-06-071-1/+1
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw/cleanup: add override in headersliuchang08122017-03-141-2/+2
| | | | Signed-off-by: liuchang0812 <liuchang0812@gmail.com>
* rgw: implement buffered HTTP header composition in front-ends.Radoslaw Zarzynski2016-10-251-0/+61
| | | | | | | | | | | Without the patch front-ends issueed a lot of small IO operations leading to increased overhead on syscalls and to the fragmentation of an HTTP message across multiple TCP segments. The later was occuring when the Nagle's algorithm hadn't been able to form a single TCP segment (usually when running on extremely fast network interfaces like loopback). Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: document interfaces of the rgw::io namespace.Radoslaw Zarzynski2016-10-211-19/+83
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: ONLY move rgw_client_io_decoimpl.h to rgw_client_io_filters.h.Radoslaw Zarzynski2016-10-211-1/+1
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: protect the {ACCOUNTING,AWS_AUTHv4,RESTFUL}_IO casts with assert.Radoslaw Zarzynski2016-10-211-1/+8
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: fix perfect forwarding of template arguments in IO filters.Radoslaw Zarzynski2016-10-211-1/+1
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: switch to size_t and exception in rgw::io::BasicClient::complete_request.Radoslaw Zarzynski2016-10-211-4/+4
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: introduce AWS_AUTHv4_IO.Radoslaw Zarzynski2016-10-211-2/+6
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: switch to namespaces and change naming in the frontend subsystem.Radoslaw Zarzynski2016-10-211-23/+29
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: ONLY replace std::size_t with size_t.Radoslaw Zarzynski2016-10-211-24/+24
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: make RGWRestfulIOEngine::Exception alias to std::system_error.Radoslaw Zarzynski2016-10-211-11/+2
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: rename and split STREAM_IO into RESTFUL_IO and ACCOUNTING_IO.Radoslaw Zarzynski2016-10-211-0/+11
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: delegate transfer accounting to RGWRestfulIOAccountingEngine.Radoslaw Zarzynski2016-10-211-34/+16
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: change naming based on RGWStreamIO in favor of RGWRestfulIO.Radoslaw Zarzynski2016-10-211-33/+20
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: remove the legacy, non-throwing variant of RGWStreamIO.Radoslaw Zarzynski2016-10-211-91/+9
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: ONLY move RGWDecoratedStreamIO.Radoslaw Zarzynski2016-10-211-0/+89
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: add control logic for chunked transfer encoding.Radoslaw Zarzynski2016-10-211-0/+22
| | | | | | Needed for tempest.api.object_storage.test_object_slo.ObjectSloTest.test_delete_large_object. Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: switch to RGWStreamIOEngine::{send,recv}_body().Radoslaw Zarzynski2016-10-211-32/+7
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: implement RGWStreamIOEngine::{send,recv}_body().Radoslaw Zarzynski2016-10-211-16/+21
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: drop RGWStreamIOFacade::print().Radoslaw Zarzynski2016-10-211-1/+0
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: implement RGWStreamIO[Engine]::send_header().Radoslaw Zarzynski2016-10-211-2/+17
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: switch to std::size_t in the front-end infrastructure.Radoslaw Zarzynski2016-10-211-9/+18
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: handle errors via exceptions in RGWStreamIOEngine.Radoslaw Zarzynski2016-10-211-12/+40
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: RGWClientIO::get_env() is pure virtual now.Radoslaw Zarzynski2016-10-211-7/+9
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: implement RGWStreamIOLegacyWrapper for using new front-ends with ↵Radoslaw Zarzynski2016-10-211-0/+59
| | | | | | RGWStreamIO. Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: dissect non-core ops from RGWStreamIOEngine to RGWStreamIOFacade.Radoslaw Zarzynski2016-10-211-1/+19
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: dissect accounting interface from RGWClientIO.Radoslaw Zarzynski2016-10-211-3/+13
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: rename RGWStreamIOBase to RGWStreamIOEngine.Radoslaw Zarzynski2016-10-211-2/+2
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: further cleaning in RGWStreamIOBase.Radoslaw Zarzynski2016-10-211-13/+14
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: strip out AWSv4 signature calculation from RGWStreamIOBase.Radoslaw Zarzynski2016-10-211-2/+4
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: improve const-correctness in the front-end infrastructure.Radoslaw Zarzynski2016-10-211-6/+10
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: move transfer accounting management from RGWClientIO to RGWStreamIO.Radoslaw Zarzynski2016-10-211-13/+18
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* rgw: introduce RGWStreamIOBase to separate all non-IO related things.Radoslaw Zarzynski2016-10-211-17/+28
| | | | Signed-off-by: Radoslaw Zarzynski <rzarzynski@mirantis.com>
* Merge remote-tracking branch 'jmunhoz/wip-aws4' into wip-aws4Yehuda Sadeh2016-02-191-2/+6
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@redhat.com> Conflicts: src/rgw/rgw_auth_s3.h src/rgw/rgw_client_io.cc src/rgw/rgw_client_io.h src/rgw/rgw_common.h src/rgw/rgw_main.cc src/rgw/rgw_op.cc src/rgw/rgw_op.h src/rgw/rgw_rest.cc src/rgw/rgw_rest_metadata.cc src/rgw/rgw_rest_s3.cc
| * rgw: multiple fixes and adjustments following aws4 code reviewYehuda Sadeh2016-02-131-3/+1
| | | | | | | | Signed-off-by: Yehuda Sadeh <yehuda@redhat.com>
| * rgw: AWS4 auth support for positive content-lengthJavier M. Mellid2016-02-131-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handle AWS4 auth on requests with positive content-length. It splits the auth process along several steps to process the body content on the fly instead of reading the whole body in memory. After that, it completes the delayed AWS4 auth properly. Requests with content-length <= 0 are validated as usual. They don't require any kind of completion. Requests with content-length > 0 use a streaming approach together with a completion step. Fixes: #10333 Signed-off-by: Javier M. Mellid <jmunhoz@igalia.com>