profile
viewpoint
Wonwoo Choi tirr-c Korea 코딩과 덕질을 함께

http-rs/tide 2605

Fast and friendly HTTP server framework for async Rust

http-rs/surf 917

Fast and friendly HTTP client framework for async Rust

http-rs/async-h1 121

Asynchronous HTTP/1.1 in Rust

http-rs/http-service 105

Types and traits for http-based services using the latest futures API

http-rs/http-types 103

Common types for HTTP operations

tirr-c/css-is-awesome 10

CSS is awesome. No JavaScript involved.

bacchus-snu/id 9

Identity management service for SNUCSE

tirr-c/functional 5

재귀 무한 루프의 시각화

tirr-c/cshaheui 4

C#으로 짠 아희 구현체

libreirc/qbirc 3

See https://github.com/slate/slate-irc instead

pull request commenthttp-rs/http-types

Several missing MIME type extension detections

these should be caught by the content sniffing, are they not?

richardanaya

comment created time in an hour

PR opened http-rs/http-types

Several missing MIME type extension detections
+4 -0

0 comment

1 changed file

pr created time in 3 hours

push eventhttp-rs/tide-websockets

Jacob Rothstein

commit sha fe95a5371647da3cf8d0bbb7cd0df9dcc5c5b312

add send_json

view details

Jacob Rothstein

commit sha aa7b355f4193e50db6332545f9473748be632db8

export message and error

view details

push time in 7 hours

startediamcco/diagnostic-languageserver

started time in 11 hours

PR opened Grabacr07/KanColleViewer

Update CefSharp to v85.3.130

For there's a critical security bug, CVE-2020-15999, below version 85.3.130, it is necessary to keep CefSharp latest. And because audio service moved to a separate process from chromium v78+, one command line must be added to keep volume button available.

+18 -17

0 comment

3 changed files

pr created time in 14 hours

startedAMD-OSX/AMD_Vanilla

started time in 19 hours

startedLevchenkoD/twemoji-input

started time in 21 hours

startedmervick/emojionearea

started time in 21 hours

push eventhttp-rs/tide-websockets

Jacob Rothstein

commit sha 6546d166963c78fa4ca493de9b9591c284c877fa

not sure if this is necessary

view details

push time in a day

issue commenthttp-rs/tide

Logging outputs invalid JSON

Oh, you are right, json_env_logger also doesn't do this correctly anymore. I forgot about that since I had to re-write that logger for internal use anyways (we wanted different field names).

For now you could pin a git dependency on my branch or use [patch-crates.io] in Cargo.toml to do so.

edmellum

comment created time in a day

Pull request review commenthttp-rs/async-h1

Upgrades

 where             }         }; +        let upgrade_requested = match (req.header(UPGRADE), req.header(CONNECTION)) {+            (Some(_), Some(upgrade)) if upgrade.as_str().eq_ignore_ascii_case("upgrade") => true,+            _ => false,+        };+         let method = req.method();+         // Pass the request to the endpoint and encode the response.-        let res = endpoint(req).await?;+        let mut res = endpoint(req).await?;++        let upgrade_provided = res.status() == StatusCode::SwitchingProtocols && res.has_upgrade();

yes, it defaults to false — that's already on http_types::Response

jbr

comment created time in a day

pull request commenthttp-rs/http-types

make it so upgrade connections can be built from the outside

This will only ever be used in one place probably, so it's not worth adding an Into. I think this code probably could be simplified, but that's not what this PR is about

jbr

comment created time in a day

push eventhttp-rs/tide-websockets

Jacob Rothstein

commit sha 4d6ff8f15c070551b856e2e4bf89b2073ef778d1

don't use transpose

view details

push time in a day

push eventhttp-rs/tide-websockets

Jacob Rothstein

commit sha ceb93772d4de2a1fd24cf0d762ae5c018f45b429

improve ergonomics

view details

push time in a day

Pull request review commenthttp-rs/http-types

make it so upgrade connections can be built from the outside

 pub struct RawConnection<Inner> {     inner: Inner,

If Connection is RawConnection<Box<dyn T>> anyways, why isn't inner just directlyBox<dyn T>`?

jbr

comment created time in a day

Pull request review commenthttp-rs/async-h1

Upgrades

 where             }         }; +        let upgrade_requested = match (req.header(UPGRADE), req.header(CONNECTION)) {+            (Some(_), Some(upgrade)) if upgrade.as_str().eq_ignore_ascii_case("upgrade") => true,+            _ => false,+        };+         let method = req.method();+         // Pass the request to the endpoint and encode the response.-        let res = endpoint(req).await?;+        let mut res = endpoint(req).await?;++        let upgrade_provided = res.status() == StatusCode::SwitchingProtocols && res.has_upgrade();

is res.has_upgrade() done automatically for default endpoints?

jbr

comment created time in a day

Pull request review commenthttp-rs/async-h1

Upgrades

 where             }         }; +        let upgrade_requested = match (req.header(UPGRADE), req.header(CONNECTION)) {+            (Some(_), Some(upgrade)) if upgrade.as_str().eq_ignore_ascii_case("upgrade") => true,

Some(upgrade) would probably be clear as Some(connection)

jbr

comment created time in a day

push eventhttp-rs/tide-websockets

Jacob Rothstein

commit sha ca6ff88ddcaf3ab4e9c9a0106087711784cb1e53

reexport async_tungstenite

view details

push time in a day

issue commenthttp-rs/tide

Logging outputs invalid JSON

I tried using json_env_logger and method and duration are still unquoted. Almost seems like neither femme nor json_env_logger supports extra fields without manually adding quotes. I haven't really kept up with structured logging in Rust, is the new interface breaking all the structured logging libraries? Am I just confused or do both libraries need the same fix you've proposed in femme? 😄

I realize I'm getting a little off track for this issue, but I'm thinking it might be useful to people in my shoes googling around. If you feel this discussion doesn't fit this issue, just delete it. I really appreciate Tide, your help and the fix for femme! 😄

edmellum

comment created time in a day

push eventhttp-rs/tide-websockets

Jacob Rothstein

commit sha 3affba7a5bd7ab556480eec16724afa27f09fddc

send a websocket version

view details

push time in a day

pull request commenthttp-rs/async-h1

Upgrades

ci failing because it doesn't have a crates-io patch for http-types

jbr

comment created time in a day

push eventhttp-rs/tide-websockets

Jacob Rothstein

commit sha e078a9b3a74ccd03345c25256b277292c2dc54de

Create README.md

view details

push time in a day

create barnchhttp-rs/tide-websockets

branch : main

created branch time in a day

created repositoryhttp-rs/tide-websockets

created time in a day

PR opened http-rs/async-h1

Upgrades
+841 -1279

0 comment

39 changed files

pr created time in a day

create barnchhttp-rs/http-types

branch : new-connection

created branch time in a day

issue openedhttp-rs/http-types

Fix Typed Headers to be consistent

As discovered in https://github.com/http-rs/http-types/pull/285:

This also uncovers some unpleasantness with the current typed headers - not all of the implement the same methods, one mutates in .value(), some return String or Result<String> instead of HeaderValue, one didn't implement name() either.

Even if we don't make it a trait the consistency should be fixed in 3.0, but we should probably decide on the trait or-not before doing that work.

created time in a day

PR opened http-rs/http-types

feat: impl ToHeader for all typed headers

This adds a to_header(self) -> Result<(HeaderName, HeaderValue)> for every Typed header, as well as anything that can TryInto a (HeaderName, HeaderValue) pair.

This should make typed headers nice to use with builds such as Surf's RequestBuilder, where .header(name, value) could be changed to .header(ToHeader) and also still work with a raw tuple.


I'm not 100% happy with this though - notably to have atrait like this either we need it to be consuming (i.e. consume a typed header) or it has to clone if a tuple is passed.


This also uncovers some unpleasantness with the current typed headers - not all of the implement the same methods, one mutates in .value(), some return String or Result<String> instead of HeaderValue, one didn't implement name() either.

I think we should probably consider rolling that all into a trait.

+218 -11

0 comment

28 changed files

pr created time in a day

more