From 3e0501a75570f5bc308a7012ccd778441f0e0b84 Mon Sep 17 00:00:00 2001 From: Jessy James Date: Sun, 22 Apr 2018 16:13:46 +0200 Subject: [PATCH] SPR-16754 InputStream has already been read --- SPR-16754/README.md | 3 ++ SPR-16754/pom.xml | 25 ++++++++++++++ .../src/main/java/spr16754/SPR16754.java | 32 ++++++++++++++++++ SPR-16754/src/main/resources/blob | Bin 0 -> 5120 bytes 4 files changed, 60 insertions(+) create mode 100644 SPR-16754/README.md create mode 100644 SPR-16754/pom.xml create mode 100644 SPR-16754/src/main/java/spr16754/SPR16754.java create mode 100644 SPR-16754/src/main/resources/blob diff --git a/SPR-16754/README.md b/SPR-16754/README.md new file mode 100644 index 00000000..5a25b0e5 --- /dev/null +++ b/SPR-16754/README.md @@ -0,0 +1,3 @@ + + mvn spring-boot:run + curl localhost:8080/ -H "Range:bytes=1-" diff --git a/SPR-16754/pom.xml b/SPR-16754/pom.xml new file mode 100644 index 00000000..6888e814 --- /dev/null +++ b/SPR-16754/pom.xml @@ -0,0 +1,25 @@ + + 4.0.0 + fix-spring + spr16754 + 0.0.1-SNAPSHOT + + + org.springframework.boot + spring-boot-starter-parent + 2.0.1.RELEASE + + + + 1.8 + UTF-8 + + + + + org.springframework.boot + spring-boot-starter-web + + + \ No newline at end of file diff --git a/SPR-16754/src/main/java/spr16754/SPR16754.java b/SPR-16754/src/main/java/spr16754/SPR16754.java new file mode 100644 index 00000000..a9ddc347 --- /dev/null +++ b/SPR-16754/src/main/java/spr16754/SPR16754.java @@ -0,0 +1,32 @@ +package spr16754; + +import static org.springframework.http.ResponseEntity.ok; + +import java.io.InputStream; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.core.io.InputStreamResource; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.http.ResponseEntity.BodyBuilder; +import org.springframework.stereotype.Controller; +import org.springframework.web.bind.annotation.GetMapping; + +@SpringBootApplication +@Controller +public class SPR16754 { + + public static void main(String[] args) { + SpringApplication.run(SPR16754.class, args); + } + + @GetMapping("/") + public ResponseEntity download() { + InputStream stream = getClass().getResourceAsStream("/blob"); + BodyBuilder builder = ok(); + builder.contentType(MediaType.APPLICATION_OCTET_STREAM); + return builder.body(new InputStreamResource(stream)); + } + +} diff --git a/SPR-16754/src/main/resources/blob b/SPR-16754/src/main/resources/blob new file mode 100644 index 0000000000000000000000000000000000000000..318b0e65fae737b76df6f9eaf1cf78e55b2ea6c2 GIT binary patch literal 5120 zcmV+b6#wgn<~uFBVq(#)YdFF?P@{2LVvsIh!WrkaFvGrM8lo_%xj;&8k#k~kVYlrW zegYwCk!;9SljNma#nF!_I3kjbgDCcR{@5!KbZLfT?ocJgG0O+y$s(6cn=Y-33jLiH zAS*eb&>G|=9Ts8gX*Ek@vl-j%BaUOntT)@;?UJg*)1jSnU zN9V-2=$V5}!6mr121XwS1m*mxGY39C7t6!FgkD-LTLc|!&L;TAPMfMY@49j@J@1K5oE42%U1 zR<7y^Q@EjPD)=yfu1Rh&*Gl8?`2rZh3p=8HL1Vm0cNx5l<0H-{Tobe+J1~0dPc!~7 z3?q#AOKW-_6r4?nwP&~EB@*{Go4%K8IDDGNu?s2tVf-=C!=8Qrd#&~~L#IFZ*FHB_ zvmq%c@9A~LD$mmPOl$bg>Z?je3-*!hOkvz$IYz$YC zUw&SJ%T@40;eo)d$d07L94Uz2%H$By3rW>^Q;~_<g`2vbh_-ZZ zjQ%)_8xyz#4a*n_f1}G$`{M}3IU@$29WjbCou5TdVzLYc-K31zG0*Cf9`@&+$7{37 z5UfqDHkN~s>bq@tGf3tLC94q$LYF%huNx2rfSwn9bAZlAv%H=z%UfQYvSW-v9>n5! z#;shO)>W!S)4D8R*xkX!SH@&D*zaIc0I#U+#Y59XEJRDS9{t{PdL0oad`0Y!_lx?C z$B!F?G{S%B=ST7@*@Jy@1sc=C<0KHwonj(E68~cue2E4e$>|0=aehBOwDfI31&>tU zH>ZQQbCCbBM2TZ$hoO)q%>@MN6>T5-Y8c;a2u{Q6Hgc3V5&MUC^GmwL+}c%V@1cR8 z1{nH)p+eB0O9(Gfxqyh0d=zBc3iAOLEG`5eHO34($@NL5_?NVL5UMzO^8D^iH$Slz znX&A4G(Rsdcxy)j$8h)bs61n_1}0K28rPUdw>dkIRXQc3&rUF_OV&B32WazlB-al$tL{Y{dMtH{87 zs=PLJxEFrI&EB=E|6ey)alJpnNeC~S=)EXDjR&| z4>O6U0H~y|(c>G8GW$gdOf~>AaQ}Rwi&bvx%r}F`lKGIk$_0nBZ1qKs%OU{H7T11J z0)tDkz1vR7DaNw4Xf&t}TNzE?*^5TFCIDoGiCXrc8AA0Zajk!=XPD(kN_>gq5_*&aP_D>6}9PVs+Apy z97ILP;+$W>N)mmaht8A!teErI~)8-w`PF{Ok3r z_s$!A(B$$|@%Zv3}kiG(Jf?b2%K6X$EI!^yzh&OJWF^q8fg(d%=+V~XKcY8tFw3}cDM;SrI; zBRl5ww}lpZ079I>t}9UujpQHmH^Oiu{@RR&c=UVq`N&Im93ZCv-&z4Y68&d~-3-Lt z*}M%%mb_y=Ah?myo1)-BFslA<)3^~;tA`q!fnC0=EO*?p3blcY@j zB`7u|fVi0k3Vn6;ztb#C!cGFpj?>kYq`QJn9mwMr5w<$43*vPcd zU{mr-&GBK*eI-XMSa$~#?+&FP@_{Zc6g}}vZV&mT8wvhn#@sxk&)M@1bKk2OlXRIw zZT!r>iGewT#9FUe?sMvJL$jWkx|2Y!aHp4{y!_Wo3ubYO`9AHyBFU=_@G`o`&l@+8 z=J&qyBGrXOJyK16+_2x5M>!-W;Xv8`3v}Yv<}W-g73YtdHB=%a53v!8;OIVmC20yl%rk~M?`TRYc-{*|7o;dGGs-EK1gPCXHH%$&A) z_16`^$mn)0BH=DUQQ+0CkYUxa&6|KC46_jbu7>8YEIYc!h9<&j8}}-NCu}NfK$H8^ z9b{}n@`Umv>xGGGG;Exn1}Sk$D{8UkfCP1XU8 zC{JzO68fe7dKml93!*C{j0t4kn_|Q~H-6!Ushpm$(A7PE{c{N|`R+lcUGt41o@TdF zkworZi5dSxcVA*WgmH4Dz2^Yxe%k-e4YM|C+7q6dBh$BCMK!NaGhqi0d>{plTg_-& zk3+&!J3;Ff7^kUr?_Ug4rfb&pVTEh(eB^cQ^lmh=+cI7`K)QmJccGH8dev#KGFtrs z0si~oX5iZ|h73ai;gZD8U(J70+XV3YwN^Yu66xjro&T>l<%Y+Z21hMo?b|PTCE6|{ zsW`sTZs)Y_Ef9D#z<4HKI{KJNEx~Nk{AX zQnwGUx1-odmP(X^s(4=!2)nwXYkMi+5bQq{jN%R-1oRi+ZVaTlGy_dLLQl z>n)-JNe5D|LrdfNj&)M?tw?~4p}QVB_!yAvk=nD(JJ~pa4Rp}_2HRMyhFvOb`fGH~ z0{Yf}btU6a{)ySt=OmTe{GgbnO>X{o9yVh_Lk72Ok%N-F50-LoSaN?LJ+)e!r16gz@LN&_C%;^?yc70vYL9&1xtHM+tM*dEAuoTv zyv2u0?{Jb^jc-#YV{xtd|B89XNTav)1zs1_q~Ui}Mz zI*pV~=x*2qFZlvVQ+Iy9-)ID3ZS-?hV?*rJP29 z>I2uIOM8d7Kzf)Sl5JwaD(#S`O>U;EJY-)Xo+8v_=qY|hLY8CfY8ORY z)I<7#sg{Mb5w&?rHE1Mt^e@eI$<)Z{bJ0|G*nyIs1BVrf((8e?NW`?4W=KPlT@9QC zMT6H_j+C_%T^@4Luq=O_Jm)}I-(ZvX28OKk!izRt*W^NH$1UK}og(1`C)7&RRUEFv z0`>1ZttE@&M-4`5Odgs~2&f01IrNqcRk zw$d+LuEU%Hb1G89okP1&4CO7Y?CdwlPAv1ddg7Y;n{00{Xro@@`7$tbe0N2?2{9Cb zn`lwTTE)gc|0^1Fq55(+8khDO_nfF?hKsyB0aV#||f1gSr^bx{j+P_F>#v@GB|nKE~5H8RhY6ghq0DlVn^# z;3u+9m4B`33DZ3ySl@Vpof@zwZjgz?;UZeK(D<;C6?RX{1h{Z1OI*9tK$q-RWMM)v z=;mf!{->;&mrOHNfcmMi*8Qapx){APy8nbUE3}ocGHzHzOKslc{}k2Ium4aDt`mMA&`NiQg9z zq_%@7H@Gaj=qh>?2mRHxN!PsR{VC|>TJHl?3~mEuSnUR;b(2)a915N5L%JH6IO0`y z3+7=s|FH%|#0!O^#6ekU<>e`J)5y{vAAcV>krX-oZ%yU*)2ONbB^@+7SnM1Wc?3dy zT)j$LaqQ{4@ieMXJ1VcqLkP%Hsriq*iv03rP8opCn~e;RAdd~U#&`B3n5*uGe8k&cu)KPylD<{qs{ zsfK#%iV`7_F|ys5o!dhTCgzR3g9l^U8HK3Sy(x6E0|6DQjy~<+4%)V+4sx+Qiz1K8 znI{4t!QCG@-`4IXBQN!ezqxk*#T;`yUpwJ4>V$}7(uGat{1cEaEct+iTH@Kjymt9u zfooF6(&jVFf+CiaN^ZVSlGeH+DidD#`W2ovaTs<&r@C_O-yDm5MR^8!t11#W)C)D` zJ8p8%t$-zWpWOqQB0^Oru^J|6T0kj?m(#D@2inA_L};{*>0?U*`E`Us1{$mb8A=%s zUmczkCT(h!UwXt(MO>yA_bA`CIMdWh<2!FFL-hPKt zNG0+ZqxkE4eVLMH9}G0ot?+FL^@-oC}N>(d!07;LoyFy{rF^A zxY(DYH*5q(;9cLwf!4r6a7;vG#JBXm?SzvNx{9xtkgHXU)XQkVp7w?F{rRG64j@QIDw-5q9<0nEgrs81FI^ zdx@546>7xJ4)&dGl<%3gOS7;Hf7WwD({XA{wv(u80Vi!_3zGD@9T5#jz$u)=bJoq- zSgmPLrs_#ky<-hsNMI`|frFTEcC+gz+vkw{W_UBkLOeWD3U2a#5u6H~l|PY~5)H*~ zg@@?qSfdX;+Hcu&AJ?X@90`K!YpIofe6}WMm(!yn!WL%U2Z?# z8I0i-o|r#7Gb#qW$fV;u8}&8k@8x9gpc$!|SIYncWY_K{!f6@zu?c|J@-=}GqyPkE iMP>PlwWaVsg)tMRRk3-R)=!)nSK~69RcYIOu{|^)I`}03 literal 0 HcmV?d00001