aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/http
Commit message (Collapse)AuthorAgeFilesLines
* Add Body to reportanterpin2025-03-313-0/+13
| | | | | | | Add test Add body to reqenv commit_hash:222fa588fa7d7a7f65869bd997d32610e78b7378
* support out headers for http simplekuzmich3212025-03-032-9/+9
| | | | commit_hash:cfe9165ddad260bd29afd422967a26259367dcc7
* return/make useful coordinator_new TestFetchGraphCanceland422025-02-281-7/+18
| | | | commit_hash:4721e3d84bd7a730a2fc5be4d0e42da14ef16c40
* Fix cancellation in unifetcherjolex0072025-02-273-23/+49
| | | | commit_hash:909fa7aadbf673448dbc709b19d2088963b40404
* Fix using port in universal_fetcherjolex0072025-01-311-1/+10
| | | | commit_hash:fa0dfc03d76b5e40181e589078cdfff0c13ae51d
* Removed dependence from libidnjolex0072025-01-303-27/+9
| | | | | Выкашиваем зависимость от `libidn` из универсального фетчера (по запросу `ya-bin`) commit_hash:525ba52d2ea4b45a15e726f7d9c73081fa2812ef
* fix redirects port selectionkuzmich3212024-12-181-1/+1
| | | | | | | Если в редиректе приходит url со схемой **http (без s !!!)**, то порт выставляется ++443++ Этот PR фиксит это поведение commit_hash:ef496e4f1cb08f3ba3b9b0f89a34f077cce38e00
* [library/cpp/http] support HTTP 434 codezankin2024-11-101-0/+1
| | | | | add constant for HTTP 434 code commit_hash:bb04bc4efd36dc9989de7535b40c968c69b27472
* check POST data length to match Content-Lengthlavv172024-10-241-1/+2
| | | | commit_hash:9f66fdc1ffe8653fba7144bff4dbee4b92723b50
* Intermediate changesrobot-piglet2024-09-112-0/+6
|
* Fix TSAN warningvmordovin2024-08-231-1/+1
| | | | e2f99a0432865120bc478a3fb91956424c374445
* Intermediate changesrobot-piglet2024-08-212-14/+13
|
* Intermediate changesrobot-piglet2024-06-271-1/+1
|
* [kernel/server] [library/cpp/http/server] enable timeout for reading from ↵ilnurkh2024-06-051-1/+1
| | | | | | | socket by default анонс https://at.yandex-team.ru/clubs/arcadia/30286 77f0f6dfa6c3bc8c2a8428ecf91cd76b22bdb60e
* MaxRedirectCount param for http/simpletrofimenkov2024-05-294-2/+169
| | | | 1b80d64b6a03772edc52f2331a860ff0b5621898
* Remove unused vector.h in library/cpp/http/io/headers.hvadim-xd2024-05-171-1/+0
| | | | 3a95ba7ea18b67eb6bd8d04631814456f4881138
* Replace incorrect [[fallthrough]] with breakvadim-xd2024-04-241-1/+1
| | | | 7783a07e40a1942583eb0470e1a4b58b3369951e
* Use AsciiEqualsIgnoreCase, remove bicyclevadim-xd2024-04-171-10/+3
| | | | 05bf28fe4eb31cec383104614cfd06d51d5c6a72
* Add THttpHeaders constructor from TArrayRefvadim-xd2024-04-165-2/+38
| | | | 351519c01d45a22beceb491029a8f516619673a0
* DebugPrint for THttpServerOptionsgous322024-04-102-0/+20
| | | | ddffb1ebbc56036902fc8b93aac08ff45a8ef547
* Add THttpServerOutput::ContentBytesWrittenvadim-xd2024-04-061-1/+3
| | | | 042561a12173d74b7f904c5e5b4c2a89c148015f
* Remove dead codethegeorg2024-02-211-193/+0
| | | | 126c0cfa83378569f6fcef85a64a147009117de2
* feat contrib: aiogram 3armenqa2024-01-1931-868/+0
| | | | Relates: https://st.yandex-team.ru/, https://st.yandex-team.ru/
* Library import 8 (#1074)AlexSm2024-01-185-36/+27
| | | | | * Library import 8 * Add contrib/libs/cxxsupp/libcxx/include/__verbose_abort
* Library import 7 (#937)AlexSm2024-01-111-3/+0
|
* Library import 6 (#888)AlexSm2024-01-094-4/+108
|
* External build system generator release 65robot-ya-builder2023-12-055-15/+15
| | | | Update tools: yexport, os-yexport
* add darwin-arm64 CMakeListsdcherednik2023-11-2010-0/+160
|
* Revert "metrics have been added"hcpp2023-11-084-150/+0
| | | | | This reverts commit 16e792be75335b09a4f9f254e3972030af83b1ad, reversing changes made to 3790f3d771d1a65ed6c0d05f3e0d79ff13308142.
* metrics have been addedhcpp2023-11-084-0/+150
|
* move version of SetContentaykeron2023-10-231-0/+6
|
* Y_FAIL->Y_ABORT at '^li'ilnurkh2023-10-171-1/+1
| | | | https://clubs.at.yandex-team.ru/arcadia/29404
* Intermediate changesrobot-piglet2023-09-182-3/+13
|
* Перенести проверку TTL до парсинга ↵conterouz2023-09-113-0/+75
| | | | заголовков
* Intermediate changesrobot-piglet2023-09-064-8/+4
|
* Intermediate changesrobot-piglet2023-09-012-0/+9
|
* finally, allow more than one listener threadkulikov2023-08-303-24/+108
| | | | | | | | | | | | | | | | | | With single poller thread on incoming connections, every OS scheduler latency on this thread wakeup directly affects requests timings. With oneshot poll events, we can poll on the same poller from many threads, and, if one thread has stalled for some reason, some other will take it's work on the next incoming event. So: - make vector of listener threads instead of single one; - add nListenerThreads option; - stop request queues and listening sockets from the last finished thread; - check incoming options and set OneShotPoll if needed. There is a problem around removing connections on MaxConnections limit or ExpirationTimeout. There is no simple way to safely remove items from epoll (https://lwn.net/Articles/520012/) if it has raw pointers in event data. Try to handle it via postponed deletion of connection objects, wait until all listener threads are ready to reenter poller wait and there are no threads where deleted object can be used: - close socket immediately after remove from poller, but instead of immediate TClientConnection destruction, put it to "pending delete" list; - add cleanup state with thread mask, each bit stating that corresponding thread should reenter poller; - call Cleanup routine before each poller wait, it will switch to 0 current thread's bit for each pending connection; - when thread mask becomes all zero, really delete the connection; - force there is a timeout for poller wait, ensure that all threads do reenter; - add more configurations for some tests. There is no significant changes or overhead for standard case with single listener thread, cleanup and pending deletion are just skipped. Also there is no overhead for common case where removing connections is rare. Here is the same review with nListenerThreads = 4 by default https://a.yandex-team.ru/review/4413226.
* Fix input variable missprintsvidyuk2023-08-308-0/+48
|
* All .ll files support in LLVM_BCsvidyuk2023-08-308-48/+0
|
* more preparations for more than one listener threadkulikov2023-08-301-19/+20
| | | | | - apply one shot poll (under option) for listening socket too; - some code rearrangements.
* simplify, prepare for more than one listener threadkulikov2023-08-242-32/+45
| | | | | | | | - move out listener and thread pools initialization stage from listener thread (no actual changes, this part of code was awaited via ListenStartEvent anyway) ; - remove ListenerStartEvent and ListenerRunningOK flag, no use now; - make Reqs list of listening sockets class member; - leave Reqs list destruction in listener thread (it should happen just after Shutdown but after polling loop stopped to prevent races); - ut for server startup fail.
* one shot pollerkulikov2023-08-223-40/+60
| | | | | | | | With WaitReadOneShot: - there is no need to do Unwait on connection activation, one less syscall per request; - this allows to make several listener threads over one epoll poller. Turn option on for search daemons (check it turned on by default here https://a.yandex-team.ru/review/4372795/details).
* Intermediate changesrobot-piglet2023-08-211-1/+49
|
* Intermediate changesrobot-piglet2023-08-181-0/+118
|
* Intermediate changesrobot-piglet2023-08-161-99/+68
|
* revert rXXXXXX (see discusstion in pr), will commit again more pci-dss ↵kulikov2023-07-272-26/+10
| | | | friendly way
* try to get rid of locks and allocations for elastic queue thread poolkulikov2023-07-212-10/+26
| | | | | | | | | In case of heavy load and high rps current thread pool implementation seems to have problems at least with contention on lock inside condvar (long futex wait calls from http server listener thread), so try to implement something more efficient: - replace condvar with TEventCounter implementation without internal lock (pthread condvar maintains waiters wakeup order, thread pool doesn't need it); - introduce well-known bounded mpmc queue over ring buffer; - get rid of TDecrementingWrapper; - add options to turn on new pool in library/cpp/http/server and search/daemons (will remove after adoption); - make elastic queue ut check both versions; - workaround problems with android/arm build targets.
* add ymake export to ydbalexv-smirnov2023-06-1314-0/+226
|
* Remove extra semicolon (library)bulatman2023-06-103-6/+6
|
* Revert "Revert "Поддержать метод OPTIONS во внешнем ↵conterouz2023-06-012-3/+12
| | | | uaas""