Commit 79ad6f9
committed
Ask Claude to implement
The `Response` encoder has long had a non-standard option `encodeBody: "manual"` which says: "Do not automatically compress the body according to content-encoding; assume the bytes I provide are already compressed."
However, this only allowed you to construct a `Response` to return with manual encoding. If you made at outgoing HTTP request, and the response was compressed, there was no way to stop the runtime from automatically decompressing it. This commit adds such a way: setting `responseBodyEncoding: "manual"` as an option to `fetch()`.
(Of course, `encodeResponseBody` is a non-standard option, but `encodeBody` is as well.)
🚨🚨 THIS PR WAS WRITTEN BY CLAUDE.AI 🚨🚨
This was an experiment to see how well Claude Code could handle the `workerd` codebase. Final stats:
```
Total cost: $9.77
Total duration (API): 17m 15.5s
Total duration (wall): 1h 38m 26.7s
```
These numbers are... quite a bit larger than what I've seen when working with Claude Code on smaller, simpler projects.
I am... not really sure I saved much time on the implementation itself, vs. writing it manually. But I am impressed that Claude figured it out! And I especially appreciated it writing the unit test because I hate writing tests.
This is not a one-shot, I had to prompt it to fix several things. I will attach my full transcript with Claude as a comment on the PR.responseBodyEncoding: "manual" option.1 parent 891394c commit 79ad6f9
3 files changed
+187
-14
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
927 | 927 | | |
928 | 928 | | |
929 | 929 | | |
| 930 | + | |
930 | 931 | | |
931 | 932 | | |
932 | 933 | | |
| |||
1077 | 1078 | | |
1078 | 1079 | | |
1079 | 1080 | | |
| 1081 | + | |
| 1082 | + | |
| 1083 | + | |
| 1084 | + | |
| 1085 | + | |
| 1086 | + | |
| 1087 | + | |
| 1088 | + | |
| 1089 | + | |
| 1090 | + | |
1080 | 1091 | | |
1081 | 1092 | | |
1082 | 1093 | | |
| |||
1092 | 1103 | | |
1093 | 1104 | | |
1094 | 1105 | | |
| 1106 | + | |
1095 | 1107 | | |
1096 | 1108 | | |
1097 | 1109 | | |
| |||
1112 | 1124 | | |
1113 | 1125 | | |
1114 | 1126 | | |
1115 | | - | |
| 1127 | + | |
1116 | 1128 | | |
1117 | 1129 | | |
1118 | 1130 | | |
| |||
1122 | 1134 | | |
1123 | 1135 | | |
1124 | 1136 | | |
1125 | | - | |
| 1137 | + | |
1126 | 1138 | | |
1127 | 1139 | | |
1128 | 1140 | | |
| |||
1245 | 1257 | | |
1246 | 1258 | | |
1247 | 1259 | | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
1248 | 1265 | | |
1249 | 1266 | | |
1250 | 1267 | | |
| |||
1297 | 1314 | | |
1298 | 1315 | | |
1299 | 1316 | | |
1300 | | - | |
| 1317 | + | |
| 1318 | + | |
| 1319 | + | |
| 1320 | + | |
| 1321 | + | |
| 1322 | + | |
1301 | 1323 | | |
1302 | 1324 | | |
1303 | 1325 | | |
| |||
1924 | 1946 | | |
1925 | 1947 | | |
1926 | 1948 | | |
1927 | | - | |
| 1949 | + | |
1928 | 1950 | | |
1929 | 1951 | | |
1930 | 1952 | | |
| |||
2047 | 2069 | | |
2048 | 2070 | | |
2049 | 2071 | | |
2050 | | - | |
| 2072 | + | |
2051 | 2073 | | |
2052 | 2074 | | |
2053 | 2075 | | |
| |||
2193 | 2215 | | |
2194 | 2216 | | |
2195 | 2217 | | |
2196 | | - | |
| 2218 | + | |
2197 | 2219 | | |
2198 | 2220 | | |
2199 | 2221 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
414 | 414 | | |
415 | 415 | | |
416 | 416 | | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
417 | 423 | | |
418 | 424 | | |
419 | 425 | | |
| |||
707 | 713 | | |
708 | 714 | | |
709 | 715 | | |
| 716 | + | |
| 717 | + | |
| 718 | + | |
| 719 | + | |
| 720 | + | |
710 | 721 | | |
711 | 722 | | |
712 | 723 | | |
| |||
724 | 735 | | |
725 | 736 | | |
726 | 737 | | |
727 | | - | |
| 738 | + | |
728 | 739 | | |
729 | 740 | | |
730 | 741 | | |
| |||
733 | 744 | | |
734 | 745 | | |
735 | 746 | | |
| 747 | + | |
736 | 748 | | |
737 | 749 | | |
738 | 750 | | |
739 | 751 | | |
740 | 752 | | |
741 | 753 | | |
742 | 754 | | |
| 755 | + | |
743 | 756 | | |
744 | 757 | | |
745 | 758 | | |
| |||
748 | 761 | | |
749 | 762 | | |
750 | 763 | | |
| 764 | + | |
751 | 765 | | |
752 | 766 | | |
753 | 767 | | |
| |||
777 | 791 | | |
778 | 792 | | |
779 | 793 | | |
780 | | - | |
| 794 | + | |
| 795 | + | |
781 | 796 | | |
782 | 797 | | |
783 | | - | |
| 798 | + | |
784 | 799 | | |
785 | 800 | | |
786 | 801 | | |
| |||
883 | 898 | | |
884 | 899 | | |
885 | 900 | | |
| 901 | + | |
| 902 | + | |
| 903 | + | |
886 | 904 | | |
887 | 905 | | |
888 | 906 | | |
| |||
993 | 1011 | | |
994 | 1012 | | |
995 | 1013 | | |
| 1014 | + | |
| 1015 | + | |
| 1016 | + | |
996 | 1017 | | |
997 | 1018 | | |
998 | 1019 | | |
| |||
1001 | 1022 | | |
1002 | 1023 | | |
1003 | 1024 | | |
1004 | | - | |
1005 | | - | |
1006 | | - | |
1007 | | - | |
| 1025 | + | |
| 1026 | + | |
1008 | 1027 | | |
1009 | 1028 | | |
1010 | 1029 | | |
1011 | 1030 | | |
1012 | 1031 | | |
1013 | | - | |
| 1032 | + | |
1014 | 1033 | | |
1015 | 1034 | | |
1016 | 1035 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4092 | 4092 | | |
4093 | 4093 | | |
4094 | 4094 | | |
| 4095 | + | |
| 4096 | + | |
| 4097 | + | |
| 4098 | + | |
| 4099 | + | |
| 4100 | + | |
| 4101 | + | |
| 4102 | + | |
| 4103 | + | |
| 4104 | + | |
| 4105 | + | |
| 4106 | + | |
| 4107 | + | |
| 4108 | + | |
| 4109 | + | |
| 4110 | + | |
| 4111 | + | |
| 4112 | + | |
| 4113 | + | |
| 4114 | + | |
| 4115 | + | |
| 4116 | + | |
| 4117 | + | |
| 4118 | + | |
| 4119 | + | |
| 4120 | + | |
| 4121 | + | |
| 4122 | + | |
| 4123 | + | |
| 4124 | + | |
| 4125 | + | |
| 4126 | + | |
| 4127 | + | |
| 4128 | + | |
| 4129 | + | |
| 4130 | + | |
| 4131 | + | |
| 4132 | + | |
| 4133 | + | |
| 4134 | + | |
| 4135 | + | |
| 4136 | + | |
| 4137 | + | |
| 4138 | + | |
| 4139 | + | |
| 4140 | + | |
| 4141 | + | |
| 4142 | + | |
| 4143 | + | |
| 4144 | + | |
| 4145 | + | |
| 4146 | + | |
| 4147 | + | |
| 4148 | + | |
| 4149 | + | |
| 4150 | + | |
| 4151 | + | |
| 4152 | + | |
| 4153 | + | |
| 4154 | + | |
| 4155 | + | |
| 4156 | + | |
| 4157 | + | |
| 4158 | + | |
| 4159 | + | |
| 4160 | + | |
| 4161 | + | |
| 4162 | + | |
| 4163 | + | |
| 4164 | + | |
| 4165 | + | |
| 4166 | + | |
| 4167 | + | |
| 4168 | + | |
| 4169 | + | |
| 4170 | + | |
| 4171 | + | |
| 4172 | + | |
| 4173 | + | |
| 4174 | + | |
| 4175 | + | |
| 4176 | + | |
| 4177 | + | |
| 4178 | + | |
| 4179 | + | |
| 4180 | + | |
| 4181 | + | |
| 4182 | + | |
| 4183 | + | |
| 4184 | + | |
| 4185 | + | |
| 4186 | + | |
| 4187 | + | |
| 4188 | + | |
| 4189 | + | |
| 4190 | + | |
| 4191 | + | |
| 4192 | + | |
| 4193 | + | |
| 4194 | + | |
| 4195 | + | |
| 4196 | + | |
| 4197 | + | |
| 4198 | + | |
| 4199 | + | |
| 4200 | + | |
| 4201 | + | |
| 4202 | + | |
| 4203 | + | |
| 4204 | + | |
| 4205 | + | |
| 4206 | + | |
| 4207 | + | |
| 4208 | + | |
| 4209 | + | |
| 4210 | + | |
| 4211 | + | |
| 4212 | + | |
| 4213 | + | |
| 4214 | + | |
| 4215 | + | |
| 4216 | + | |
| 4217 | + | |
| 4218 | + | |
| 4219 | + | |
| 4220 | + | |
| 4221 | + | |
| 4222 | + | |
| 4223 | + | |
| 4224 | + | |
| 4225 | + | |
| 4226 | + | |
4095 | 4227 | | |
4096 | 4228 | | |
0 commit comments