From d12c26aa904e72bfd3230bc5ceb10e5923319bc5 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Tue, 22 Oct 2013 18:14:00 -0700 Subject: [PATCH 1/9] Adding Owin support Some tests are broken right now --- lib/owin/Microsoft.Owin.Host.SystemWeb.dll | Bin 0 -> 148656 bytes lib/owin/Microsoft.Owin.Host.SystemWeb.xml | 540 +++ lib/owin/Microsoft.Owin.XML | 2892 +++++++++++++++++ lib/owin/Microsoft.Owin.dll | Bin 0 -> 93360 bytes lib/owin/Owin.dll | Bin 0 -> 4608 bytes .../Environment/DefaultOrchardShellTests.cs | 3 + .../Mvc/Routes/ShellRouteTests.cs | 9 +- src/Orchard.Web/Web.config | 1 + .../Environment/DefaultOrchardShell.cs | 32 +- src/Orchard/Mvc/Routes/IRoutePublisher.cs | 4 +- src/Orchard/Mvc/Routes/RoutePublisher.cs | 23 +- src/Orchard/Mvc/Routes/ShellRoute.cs | 71 +- src/Orchard/Orchard.Framework.csproj | 13 + src/Orchard/Owin/IOwinMiddlewareProvider.cs | 7 + src/Orchard/Owin/OrchardMiddleware.cs | 20 + src/Orchard/Owin/OwinMiddleware.cs | 9 + src/Orchard/Owin/Startup.cs | 12 + 17 files changed, 3592 insertions(+), 44 deletions(-) create mode 100644 lib/owin/Microsoft.Owin.Host.SystemWeb.dll create mode 100644 lib/owin/Microsoft.Owin.Host.SystemWeb.xml create mode 100644 lib/owin/Microsoft.Owin.XML create mode 100644 lib/owin/Microsoft.Owin.dll create mode 100644 lib/owin/Owin.dll create mode 100644 src/Orchard/Owin/IOwinMiddlewareProvider.cs create mode 100644 src/Orchard/Owin/OrchardMiddleware.cs create mode 100644 src/Orchard/Owin/OwinMiddleware.cs create mode 100644 src/Orchard/Owin/Startup.cs diff --git a/lib/owin/Microsoft.Owin.Host.SystemWeb.dll b/lib/owin/Microsoft.Owin.Host.SystemWeb.dll new file mode 100644 index 0000000000000000000000000000000000000000..7a2c75e3fba634005423148627dd8c7c02b67af5 GIT binary patch literal 148656 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

9E!uE^bZXj0KqWfyf%u}zGB3+H z@b|9oF8-VI?1rBWUUkexudJW&NX|azz5aW0b51>R@)f_o)Ia#V%?};dFZ2Doj@zE@ zy|wpqg?m0ab!bE0l>^`N-hAu*saul9jd<~_djpU5J#gZM`~F<~*4&8~%$Sz+&YQ=c zb5y@cw?6vC6>9@mKJw+P1#e%utnQ70znt;P=PO2!anIWEuz$=K4<{#_atjpqYI;}J@I|)m4b9&dKAdtK33Dn<< zjqQ2@|IqsE?40am?3lS&O9JJ=Gu|Y((I9uKI~C(W=w@^brMsR`E#W7Ms=pXDY`N(h zjqOgDc`g@?*c^Ae8p?L3zM-UAEA5O=ak$(2CMCF=o$geHG$%VT33P<<4u@|XSl5-D z%>6Kf{6c0lsc)Jh8FzE|KOu$G%}wf^49y7nLSck*U>T8Y{G>}D31LzA5yk45oPdO` zG!WI56PF05G2H73NzUY)IIvec1!X^e&>inbi{QFWa^xV0&uldYv>V-iP(d)|O8eT~ z?ZcD$xZB-b15wu9H5_OZqk zc%8_#?wn+YMp*`tmgyeuNY9loY#XH@3)(cT! z7$jk*L2ala5qrBT2C}4g5ABu2jYlR^01=8+&<;xm^LCBJ`UsK>02+WzT*)1*^_E1n z#f1Y3D51jW5wMcv-6K+Hg?5i(Q_w1*K7y!*yPBBXkQFKnbkcei1BV#9lKm*hjEDgX zjs;P;26THBJ*@u2$w8uJXv$q=Y~AW~N*~)tWU;=XtM9CluwyAPWj_raP9JOaD1EF< z22UpNs=eL}bFWv9XmoMY4wQ4&O=>edAG26Y0d zw2wq0V(yqH8yFH(fZ3n}a||I#QpkWABcGCDG7Oo~At)#-fRoJc04hes*K`#&%=OBqoBxe6&AV&--^O950PBIE+7t&R@4-<`=`|24+e5$NG zsEL>t+Dfr@Gr@qi@VL89V1@h-!9&_&mp)6)eK}N-K314cpWMr2U@ixtbZCQJPgOL; zL{npZDmr7sVi1tY@o+wj)$yc{rHC4ffka8E142c3sE&iXT*tN?#T0Wer1U?vZ!ZmI zv%xAH(Q8F)uh)FcTgcMz?&F(U!4NtZv zvqb}&aH{qM1e}z%b~^dWm=dn(1=_>-bkm^Q^lF|7Fek&kuF&j zPVqRM4)iMx3r~s@3F%!IV_S&Q6h}J{1%C2D^IV5EE8-=zh*x&_Af9@w5RdH0^V2Fe zChC!BuFL2_k_Xl?>P81qD>xRPNQR?~n~^!LffRqyyOS6;vK?Wdvqa~UQl}0Q5V1ZC zVB=f#yZdF~p}#f-&PME0Cc`R8#?sLFJi0D~e_pDAZu<;onZC1#BbD5#A}TJxG9I0O z5{!G);E3hc`KR7owVqM`km2rrG+7A#yi#$&(O5V+a4%C~P^|7w$HZ`_QfhX;4ucD` zOTJ|%uKR6w_q%;yqjhe=Hk~V33^e$>HdE}2^5>qAD=sdq`QR5e(a<2>U7IM$Iybne zI;njQQ4KH?Iv<6hhfZ!6HoHN3egh12m@&fcSoz8DEF=LbCmWXFi)5@inpwS+eO)A+ zD&Wq_PwIuOM7G69vDXhu3o~MGVY9m!?UOd#ED9d$K~bU6hp=js)5M7Bym_cYJE96d z3RvaGo7{Nj3XdP+r9u7of$$I@p3zWrqnp8zW5^sO6|f)Z1XIAqVrM81Xg6Yb_9tVC zQ?sJXfsZ2DjWLhdDjI;KSQ|T3xQ*>X(x7XLZrLi`>jun7W8)D6B$ZO9R{>otDbSl` z053=DFd4cJ;2(@#CoNno#x9&=R6QKP69wbTAS_!bAwa561WM&%^yADUYp6jtj(m|oxqQHLqKd#PfEhj z*=58mhc@-#(t$6YQ$pY&G5&Jhn3%6IQ=bK#IkIqq`*W2$>^%( zzAA-RGx|JO3g+X|76PT5@E9o zn`O{<4b*olK?96R(5#)LxMPxg?IiFw-EqjvW)D=z-L(@FhjNZIgEP;)c3wPufUZ7C z@$R){?zM|$z;*KPHtN|e9KXwmel8^aT-v2JzHXs7^E+Iqo_jC!*TL_e<8mh@xZDsH z=IMAY$KXHE)h{^j79_g`;SLG!Rj0W*MZu7r`vh!vDutSmbGN(ee?(Yz-jB_nfs{SF z^*uW5)zLh_7NWb@XzNBny-_H<5yOb?qw>y8bSrf3hJ)?*6vdJR_Z*tVGa6lwVBb4j zpjpCATDb`XWs;R_4-aK)d(L)u?Pc>mgfGjLM($TZO8u@!FxBJaKm&Gz7A9bd<3J@^ z^tAM2H~Z1G4^jAF=zpfW#(~+PyFl6m>NRw->qYQ{`ZkpK7s+>=P=8_iYkK}`NL5-l zLz4d%Dd9rxSgE>3anlcU8tPt%qbVxHNZ(vu96(6@TL_$MLB@Hi>^y1KVy=p7{bUPF z8!(%n9G~r8+st~_3JVA~%WVHnu`B$U5M|#{X_o>2&KSz?fD>{6$bf)zSiG0+cKScF zvz08j?W?%6L?1HuO{mDD-?GU9mR#ErFPkek{+i2U*|H&n4Heo0m^kTc&oZGY(79cM zaah}hcBQXfkJfj&)y54%W*r~`&abcSlJ$D+I*^zfItZ{Jmjjff^`T=(MZl^i70v@a zBfaY#Y7$+O=%J!CNng7GrHp{y3yusmlniGKo+=@JO8oKI2>3s<13}XbTQ5 z&CT~7)q9F&RDW`HOpG@ywO$%Kc@~-l=0PvqRQTSJB%^)Y)XhSFxU;1b7JbF>9h@I_ z@n|ufnN-%%{c?vkD1ZKpD)WcC$Lfy)Pg+@&U+mDTT>Z=}+iz63Sti%a$p!2@hc^45 z-OU~8DfCX9Sm&+rmrN)wt}iK`=&3E7IAKCT$;8_F37*37UZ1C=cEW_ZQJ8cx_eMFi z;U!+rcu!$beO_JB_=$N%6HB~#zS`Oec^+?pr_NVXKXHPuK;Tg##i1qmTk;lHYFe2? z^B%N0`FJxMPg)wkZZGe_rdTi8YT6*&c`-5M;^&+3qf7D(FrG4VXf7+OVre;^X((`L zdB3|Q*GjgP$i>ep<;pL7hjQ^cCLdU@!#inihn89ZpKyU^qSu>WII&pufJtx@XF9ar z`ZL#jV>BK=6Xu7H-@zLz_%oRDsmj@(%z__oG#^0augk0oDbb}BjP)!cFulpyNZUEd zsqGx%#1`4~%G%E!?tk6K56xNs@bYWVPFsI0i_{*oOx)FF4R}p_8Gp!qSgpMmj32rSVmqn<^n#`7ri@$5~70Nx+} z@jtlXOHM!Eaoa-0@tSs=LPOu2zN4Zi;A=YmJAj+dP|U>nXck4M#{~JfUygzNte$`KL+xSfRu6rULtD z@EK#gn|yfsIt8bspthhc-q&cyNa3gb%o<|Vk&79)ROTYv>d|0eMU;;mQDZzI2fzjJ z7Rmi^_S<+;IPx~X#RK{SKCJ5h{rSI%0v@N<2kpr<1n&P$ZTo+1`Ozt`a}cUdc`@kE%DbmJ2lTxTe(b7jF<|Bie{S4Wm38#9NiTo$`Q9R{<>!T?231=Cz~lL8L>?R?@-SW=Er3WG;1tkR@&xC@)lMpTPj5nj6t~-B}mZf@nvt_+A;^$Q? zSmZt0GeSiNw@hnnUG5L&POqGiJEL;`F*Az`Cgc^Cl$7L6z_0vyM|g&*9%aYuk#3=Q zx*bQ_DeOql;<_Du!4QrVXE%=TJ@(3DS$&6Gv822D#i<4RlAC{X&Hw!F!!;9reL~@m z6(3^Q-&OKWZ4_Nj&g3<`}T+@FKAf%>ddd!&3pLI z^@INq`suN|Rt~sv+mTb zOI@`ro&Ctmh|chdM>+k2l<@JW~OP|mRU zfu8=I{e~5N^`}KMTT?!q^6koR?;Nx9;o>{{da77{Nc=p{98dX{SzBhDJ8e0Bf$NxY z<7$IV`OS^B!9XZb-&lwd)EB&*hOn^_-5FIeQ|f6cH&*{y%snx?(@LH(=I=zece0Re@WUi|C%Fi zescJ%e#0w@SKYpO_t9rwbV|i{iRWK=<=3OG{&GsrqOJ>9&W`)(r&ka7?X7=0`N&IZ zk1eP!{`P+_Dc$?A>#EMliI+^sIHS+p2MS+$@WUNt|GVah;cGJflJec0pXVmz^jd$( z#H9H{=fBdlruDvG@6WyPt4*s<{mc0qpYlI&#l?NMY(D41Wp}M9+v3Z+e_Dfo(CF@c zH~sv?FALth{%?CW+;QZ6myUdK=LMA)EuS@O>x+(^`+b?eAFws=&10G>0=G^2=#^1B zr$7Gir49FLPxieq{o`kx-QMzzo32?nd-aZ-7pD9MV(bHmv3)i%wln>xs{C#Ef9`2LFO$eDkvx{ES#tWS&sChQ9HuHyz_=9T?YrT36f`w-o|W#u<^-1VE6p8UG? z%#n_B?jAkrsRwUKNO=9VzNgPSuw&Vs%=3*$v}Alut*5x4u&Bsa7bXB7Pk-mJ zXLt2K!SQHGeqsOq_sso8$`H>I);T1;!UGYw1tRd=8UK_31TTY=A@{01SnIrb1s<S6q9`@N@qB;T2n6 z4c+kZX@j=UskwIln*Zr{_UtF--7)>^Pf9Oqp8DcDYyLW5%hk)5_Zs=N^U9CY*L>C ze#}i1-WqXf@{Q-!Lv2gg4S9Eil6NV-!lS52YMM8KSe|N8&{BF`der*MJ{?=<$m$=5 z#m$>Vz0sD~%Ut`sd7d#!gblYu*rGt7Eq9vr`-r*vF9)}Eh*k!Dtk7Ff;GI}l0AWV; zjL`x{|C@65hg7ROf+sG^^3*+;^NUk+bEjUlva)IN5ibPxKED6G75})hf7)xW9@DmV z&~L|WDfr;~SAI8j{;=nR+DpYtQ`SFrYi{}HpDf=#Z_b8o_jk-W{pwjse?Bnc)oa?% zd+JxA>1Y43>!r``|8)Efk1m_>m)mwsdTr$LD+k@QEf`v|f567K4is+;Zh2v4_25-A z)~=h-|LM@l31FEG+wN!__vftM|G2bm)Eg_uRlVHLbK+OeZm2o%_@mV`y$kL+I^(S= zo~MGN(ncQnhm!e|wiHad_=&9(64x!8zodKQ=!Amb&iP|S?cbiwtJyze(%-fxYk!}) z_1b4nzTl|Jch30L@t@9os-$$nwYyd=+cx0Z4UeZ^w50T*?Y*kwo--uaPawfg^7N%- z$Z$Bmk5BN#;manyVoDNf#W{WB<6$_Q>v1Rc((RH=M|^@HhWcx!IjON7c*Z;bxubr5 z`RkibJ@#gA;KtJ3FXnl&OrU-hJwnB}ZTR_K1w{M!%j? zdHIQN-QZcEWLddqmS@J6Xcy2{jj}j7HsMqddl`mdFu&VKCmJ_8yb-?lk7 z@0;EWe!t|2yf=@3c6aOFZce=}ZrhUA?*93lrJr6tb@TquKK|&n>>d?uN@V-g>|BZ?{}G_JK#n zq`CYTUiH!!*L~wYs+WJl#{FjuIsU$9USIOg)2pu-xa`s5{?#vEmQ#LV-UB;|re}YY zmN`f}<>lg&hd#OK54}EG=enSx*_APW(wb4THwT~jtm(0bK4`su>7`50+PGoM5wqh? z`tqsk8&cY~jsGxj+<-^^8Z2>t9=N@eZax z=^gThtLo*qw|@Kfth60zOCdd-U#s z-?)Ms9=d+gZO$pDecyQX6>p^7oVKfELGlX^Px5ppCP99GY{>8a%jvJjUekX=etSwh zMc862C@%C+87=Ti6s9(!|2=d6hotu}w>I7W>PxdP9ld5ne%9;vzwzdts}>Ghu;a;> z2hJbf_oHWSdS>p9HcxK)`$^ANU7lIK@rbFH-nwa-=cqqxE8aQt{twnC_5IQnzv+|p zdxtz;IQ(bVeENAq_So;v{M&gs@BMB5^;;hrR{7Y5Z)QBz>*=4|_VmuF@z;HQW7A~~ ze;oOjnUy=wefsT@GxLw$es0C$MSb3i8~g2P7hmjY`PpYDdan8Ar!QQ2=Q~5M{OMQE zW_*_X+sfueyJlSc%h}rTv+C229#wzym2W+l*meAMU!QYR`mBDvx_^1jhl^ML!|{up z1SC3tL*;b$PuAJ1{zx(p)I~-3QIj8FT zuM-~rU2bnfdjA^I`=*0Q@0f;gnDkCFg)pQyp6~d zx8Jw=)AOJH;8@2;Z#-~OO2Q)>X20=CW#-EjzrOUXzil|}`Ob&_y7AM*aqHsVy=3(8 zBU``y`*&}xzA8WU%cM72cMqI@&4nvcf|uXDb>ilRygdtD@6{|juK%X+-7)Xp_xbF- zWB0vS&^h<0(X)qFpY-06k8gbCs%suQCUAe((QS$8AFUkv;MLs^9bNUC+fSRce(Or# zu9mGCH$M2QS)aHA2Yz1AbjLqlUHHfa!yc`_|C*eix$B&h@@_lvqPyQ3`u1HrAFJK9 zx+-B`S^k3U8+UG7{p&loT+u%0PnZ5Iqy5Nn1ve+RY&rRY5f5(p_?*XvzVQCwibsF( zQTc0MI{bn4z0Z22@sYo_ym!-;PkKjv@7i> zV7wQ~;PLxj{`RvEG91gE__i~7>2Lp3b^DSPo*Em9KHe(NqAdlT_>FAr7l!|gC-(s> zv0IjpJvRRIM=oBS=B_UHf_+=FI|tcRHD9PTABQN$&GF&4rhU2g^%cI>_-=>x+C9_X zyr}BQcP`!dzq`^3F5gx4t7ke_J@E7yGv}wi@2%fIr|r61oE@Y7{=$ym{dN84r(8IH z`?Xhp*){ZczuAAx#TyIGdUo`OdAEpVpQSr^?Q;ox+&}7f-4@s?vfX@OWHTAUViUe!8zpz znkzGl?!NN8sV@vWqtEj%`>QV~4Bj#1xN~0~HtFc|-?@4IvZq(NN6mR~#MifnzPs_7 z(ev-avVooGyAFX^pRISJ91q|)`=JV6wg4b)p6e5W+cf0el$5Q!P{5%4scq?Goi>+Tzpa#KR&eKo~uvGIqm6N z&s$O*S26P8`h{2Ywet!bt>l%nUrJl;eEZYfCC8ocalyVfK09sLDW9CQWZP{&du;NE zzgPZb+c7^$nC$*d{r;7w{$_v3w_wQCCFkAstEms(+xw%eQA=J=T0N&=<^5B}jZ8iF zv9TX``c9a2#PPqcf35Mw&RM&*9lyuBqJ8KK)l0rT>)El-4Q+dT!QRwoE=&5$E63fL zuOahyGwiK19K-KROFm)q{&oNO{kz|H=MMc%?h{W=Tm0Pg3GTerCI2|>mG`zB z`{;uAw=945oELwacClylH**f`>3ja;kLFihx8j~L*KIBvsdtCnc(*_UQl9c((zJx80WGwG^?z=Ou^4;|56W?9 + + + Microsoft.Owin.Host.SystemWeb + + + +

+ Locates the startup class based on the following convention: + AssemblyName.Startup, with a method named Configuration + + + + + + + + + + Allows for a fallback loader to be specified. + + + + + + Allows for a fallback loader and a Dependency Injection activator to be specified. + + + + + + + + + + + + + + + Executes the loader, searching for the entry point by name. + + The name of the assembly and type entry point + + + + + + + + + + + + + A default fallback loader that does nothing. + + + + + A placeholder method that always returns null. + + + + null. + + + + A singleton instance of the NullLoader type. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to For the app startup parameter value '{0}', the assembly '{1}' was not found.. + + + + + Looks up a localized string similar to For the app startup parameter value '{0}', the class '{1}' was not found in assembly '{2}'.. + + + + + Looks up a localized string similar to The OwinStartup attribute discovered in assembly '{0}' referencing startup type '{1}' conflicts with the attribute in assembly '{2}' referencing startup type '{3}' because they have the same FriendlyName '{4}'. Remove or rename one of the attributes, or reference the desired type directly.. + + + + + Looks up a localized string similar to The discovered startup type '{0}' conflicts with the type '{1}'. Remove or rename one of the types, or reference the desired type directly.. + + + + + Looks up a localized string similar to The OwinStartupAttribute.FriendlyName value '{0}' does not match the given value '{1}' in Assembly '{2}'.. + + + + + Looks up a localized string similar to No '{0}' method was found in class '{1}'.. + + + + + Looks up a localized string similar to No assembly found containing a Startup or [AssemblyName].Startup class.. + + + + + Looks up a localized string similar to No assembly found containing an OwinStartupAttribute.. + + + + + Looks up a localized string similar to The OwinStartupAttribute.StartupType value is empty in Assembly '{0}'.. + + + + + Looks up a localized string similar to The type '{0}' referenced from assembly '{1}' does not define a property 'StartupType' of type 'Type'.. + + + + + Looks up a localized string similar to The given type or method '{0}' was not found. Try specifying the Assembly.. + + + + + Looks up a localized string similar to The '{0}' method on class '{1}' does not have the expected signature 'void {0}(IAppBuilder)'.. + + + + + + + + + + + + + + + + + + + + + + + Used to provide the data protection services that are derived from the MachineKey API. It is the best choice of + data protection when you application is hosted by ASP.NET and all servers in the farm are running with the same Machine Key values. + + + + + Returns a new instance of IDataProtection for the provider. + + Additional entropy used to ensure protected data may only be unprotected for the correct purposes. + An instance of a data protection service + + + Provides extension methods for . + + + + + + + + + + + + + + + + + Provides extension methods for . + + + + + + + + + + + + + + + + + + Processes requests from System.Web as OWIN requests. + + + + + Processes requests using the default OWIN application. + + + + + Initiates an asynchronous call to the HTTP handler. + + + An System.Web.HttpContextBase object that provides references to intrinsic server + objects (for example, Request, Response, Session, and Server) used to service + HTTP requests. + + + The System.AsyncCallback to call when the asynchronous method call is complete. + If callback is null, the delegate is not called. + + + Any extra data needed to process the request. + + + An System.IAsyncResult that contains information about the status of the process. + + + + + Provides an asynchronous process End method when the process ends. + + + An System.IAsyncResult that contains information about the status of the process. + + + + + Gets a value indicating whether another request can use the System.Web.IHttpHandler instance. + + + true. + + + + + Processes a route through an OWIN pipeline. + + + + + Initialize an OwinRouteHandler + + The method to initialize the pipeline that processes requests for the route. + + + + Provides the object that processes the request. + + + An object that processes the request. + + An object that encapsulates information about the request. + + + + Registers the OWIN request processing module at application startup. + + + + + Registers the OWIN request processing module. + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to The following errors occurred while attempting to load the app.. + + + + + Looks up a localized string similar to Cannot register for 'OnSendingHeaders' event after response headers have been sent.. + + + + + Looks up a localized string similar to The key '{0}' is already present in the dictionary.. + + + + + Looks up a localized string similar to To disable OWIN startup discovery, add the appSetting owin:AutomaticAppStartup with a value of "false" in your web.config.. + + + + + Looks up a localized string similar to To specify the OWIN startup Assembly, Class, or Method, add the appSetting owin:AppStartup with the fully qualified startup class or configuration method name in your web.config.. + + + + + Looks up a localized string similar to The given stage '{0}' is not supported.. + + + + + Looks up a localized string similar to No owin.Environment item was found in the context.. + + + + + Looks up a localized string similar to An exception was thrown while trying to load the client certificate:. + + + + + Looks up a localized string similar to The OWIN entry point threw an exception:. + + + + + Looks up a localized string similar to The IAsyncResult callback for OwinCallHandler threw an exception:. + + + + + Looks up a localized string similar to Failed to register the OWIN module:. + + + + + Looks up a localized string similar to The application threw one or more exceptions when notified of a client disconnect:. + + + + + Looks up a localized string similar to Shutdown detection setup failed:. + + + + + Looks up a localized string similar to One or more exceptions were thrown during app pool shutdown:. + + + + + Looks up a localized string similar to An exception was thrown from a timer callback:. + + + + + Looks up a localized string similar to An exception was thrown while processing the WebSocket:. + + + + + Looks up a localized string similar to Support for WebSockets has been detected.. + + + + + Looks up a localized string similar to No support for WebSockets has been detected.. + + + + + Provides extension methods for registering OWIN applications as System.Web routes. + + + + + Registers a route for the default OWIN application. + + The route collection. + The route path to map to the default OWIN application. + The created route. + + + + Registers a route for a specific OWIN application entry point. + + The OWIN application entry point type. + The route collection. + The route path to map to the given OWIN application. + The OWIN application entry point. + The created route. + + + + Invokes the System.Action startup delegate to build the OWIN application + and then registers a route for it on the given path. + + The route collection. + The route path to map to the given OWIN application. + A System.Action delegate invoked to build the OWIN application. + The created route. + + + + Registers a route for the default OWIN application. + + The route collection. + The given name of the route. + The route path to map to the default OWIN application. + The created route. + + + + Registers a route for a specific OWIN application entry point. + + The OWIN application entry point type. + The route collection. + The given name of the route. + The route path to map to the given OWIN application. + The OWIN application entry point. + The created route. + + + + Invokes the System.Action startup delegate to build the OWIN application + and then registers a route for it on the given path. + + The route collection. + The given name of the route. + The route path to map to the given OWIN application. + A System.Action delegate invoked to build the OWIN application. + The created route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + The method to initialize the pipeline that processes requests for the route. + + + + Provides a way to define routes for an OWIN pipeline. + + The route collection. + The name of the route. + The URL pattern for the route. + The values to use if the URL does not contain all the parameters. + A regular expression that specifies valid values for a URL parameter. + Custom values that are passed to the route handler, but which are not used to determine whether the route matches a specific URL pattern. These values are passed to the route handler, where they can be used for processing the request. + The method to initialize the pipeline that processes requests for the route. + + + diff --git a/lib/owin/Microsoft.Owin.XML b/lib/owin/Microsoft.Owin.XML new file mode 100644 index 000000000..3c01fbdbd --- /dev/null +++ b/lib/owin/Microsoft.Owin.XML @@ -0,0 +1,2892 @@ + + + + Microsoft.Owin + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + + + + + + + Sets the given key and value in the OWIN environment. + + + + + + + + Access the Authentication middleware functionality available on the current request. + + + + + A wrapper exposing request specific properties + + + + + A wrapper exposing response specific properties + + + + + The wrapped OWIN environment. + + + + + Gets or sets the host.TraceOutput environment value. + + + + + Extension methods for IAppBuilder. + + + + + + + The middleware type + + Any additional arguments for the middleware constructor + + + + + + + + An app that handles all requests + + + + + + + An app that handles the request or calls the given next Func + + + + + Middleware for executing in-line Func middleware. + + + + + An abstract base class for a standard middleware pattern. + + + + + Instantiates the middleware with an optional pointer to the next component. + + + + + + Process an individual request. + + + + + + + The optional next component. + + + + + + + + An app that handles all requests + + + + + + + An app that handles the request or calls the given next Func + + + + Process an individual request. + + + + + + + + + + + + Accessors for query, forms, etc. + + + + + Accessors for headers, query, forms, etc. + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Get the associated values from the collection in their original format. + Returns null if the key is not present. + + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Create a new wrapper + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Get the associated values from the collection in their original format. + Returns null if the key is not present. + + + + + + + + + + + + + + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + + + + + + + + + + + + A wrapper for owin.RequestHeaders and owin.ResponseHeaders + + + + + A wrapper for owin.RequestHeaders and owin.ResponseHeaders + + + + + Parses out comma separated headers into individual values. Quoted values will not be coma split, and the quotes will be removed. + + + + + + + Add a new value. Appends to the header if already present + + + + + + + Add new values. Each item remains a separate array entry. + + + + + + + Quotes any values containing comas, and then coma joins all of the values with any existing values. + + + + + + + Sets a specific header value + + + + + + + Sets the specified header values without modification + + + + + + + Quotes any values containing comas, and then coma joins all of the values. + + + + + + + Get or set the associated header value in the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Create a new wrapper + + + + + + + + + + + + + + + + + + Get the associated value from the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Get the associated values from the collection in their original format. + Returns null if the key is not present. + + + + + + + Parses out comma separated headers into individual values. Quoted values will not be coma split, and the quotes will be removed. + + + + + + + Add a new value. Appends to the header if already present + + + + + + + Add new values. Each item remains a separate array entry. + + + + + + + Quotes any values containing comas, and then coma joins all of the values with any existing values. + + + + + + + Sets a specific header value + + + + + + + Sets the specified header values without modification + + + + + + + Quotes any values containing comas, and then coma joins all of the values. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get or set the associated header value in the collection. Multiple values will be merged. + Returns null if the key is not present. + + + + + + + Throws KeyNotFoundException if the key is not present. + + + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + + + + + + + Sets the given key and value in the OWIN environment. + + + + + + + + Parses the request body as a form + + + + + The wrapped OWIN environment. + + + + + + + + + + The HTTP method/verb, e.g. GET, POST, etc.. + + + + + The HTTP request scheme (e.g. http or https) from owin.RequestScheme. + + + + + Returns true if the owin.RequestScheme is https. + + + + + The request host, taken from the Host request header in owin.RequestHeaders. + May include the port. + + + + + See owin.RequestPathBase. + + + + + The request path from owin.RequestPath. + + + + + The query string from owin.RequestQueryString. + + + + + owin.RequestQueryString parsed into a collection + + + + + A Uri with the combine parts of owin.RequestScheme, the Host header, owin.RequestPathBase, owin.RequestPath, and owin.RequestQueryString. + + + + + owin.RequestProtocol + + + + + owin.RequestHeaders in a wrapper + + + + + The Cookie header parsed into a collection + + + + + The Content-Type header + + + + + The Cache-Control header + + + + + The Media-Type header + + + + + The Accept header + + + + + The owin.RequestBody Stream. + + + + + owin.CallCancelled + + + + + server.LocalIpAddress + + + + + server.LocalPort + + + + + server.RemoteIpAddress + + + + + server.RemotePort + + + + + server.User. + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Registers for an event that fires when the response headers are sent. + + + + + + + Sets a 302 response status code and the Location header. + + + + + + Writes the given text to the response stream using UTF-8 + + + + + + Writes the given bytes to the response stream + + + + + + Writes the given bytes to the response stream + + + + + + + + Writes the given text to the response stream using UTF-8 + + + + + + + Writes the given text to the response stream using UTF-8 + + + + + + + + Writes the given bytes to the response stream + + + + + + + Writes the given bytes to the response stream + + + + + + + + Writes the given bytes to the response stream + + + + + + + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + + + + + + + Sets the given key and value in the OWIN environment. + + + + + + + + The wrapped OWIN environment. + + + + + + + + + + The optional owin.ResponseStatusCode. + + + + + The optional owin.ResponseReasonPhrase. + + + + + owin.ResponseProtocol + + + + + owin.ResponseHeaders in a wrapper + + + + + The Set-Cookie header in a wrapper + + + + + The Content-Length header + + + + + The Content-Type response header. + + + + + The Expires header + + + + + The E-Tag header + + + + + The owin.ResponseBody Stream. + + + + + Used to mark which class in an assembly should be used for automatic startup. + + + + + + + The startup class + + + + + + A non-default configuration, e.g. staging. + The startup class + + + + + + The startup class + Specifies which method to call + + + + + + A non-default configuration, e.g. staging. + The startup class + Specifies which method to call + + + + A non-default configuration if any. e.g. Staging. + + + + + The startup class + + + + + The name of the configuration method + + + + + An ordered list of known Asp.Net integrated pipeline stages. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extension methods for the MapMiddleware + + + + + If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of + continuing to the next component in the pipeline. + + + The path to match + The branch to take for positive path matches + + + + + Used to create path based branches in your application pipeline. + The owin.RequestPathBase is not included in the evaluation, only owin.RequestPath. + Matching paths have the matching piece removed from owin.RequestPath and added to the owin.RequestPathBase. + + + + + + + The normal pipeline taken for a negative match + + + + + + + + + + + + Options for the Map middleware + + + + + The path to match + + + + + The branch taken for a positive match + + + + + Extension methods for the MapWhenMiddleware + + + + + Branches the request pipeline based on the result of the given predicate. + + + Invoked with the request environment to determine if the branch should be taken + Configures a branch to take + + + + + Branches the request pipeline based on the async result of the given predicate. + + + Invoked asynchronously with the request environment to determine if the branch should be taken + Configures a branch to take + + + + + Determines if the request should take a specific branch of the pipeline by passing the environment + to a user defined callback. + + + + + + + The normal application pipeline + + + + + + + + + + + + Options for the MapWhen middleware + + + Options for the MapWhen middleware + + + + + The user callback that determines if the branch should be taken + + + + + The branch taken for a positive match + + + + + The async user callback that determines if the branch should be taken + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Create a new context with only request and response header collections. + + + + + Create a new wrapper. + + + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + + + + + + + Sets the given key and value in the OWIN environment. + + + + + + + + A wrapper exposing request specific properties + + + + + A wrapper exposing response specific properties + + + + + The wrapped OWIN environment. + + + + + Gets or sets the host.TraceOutput environment value. + + + + + Access the Authentication middleware functionality available on the current request. + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Parses the request body as a form + + + + + Create a new context with only request and response header collections. + + + + + Create a new environment wrapper exposing request properties. + + + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + + + + + + + Sets the given key and value in the OWIN environment. + + + + + + + + The wrapped OWIN environment. + + + + + + + + + + The HTTP method/verb, e.g. GET, POST, etc.. + + + + + The HTTP request scheme (e.g. http or https) from owin.RequestScheme. + + + + + Returns true if the owin.RequestScheme is https. + + + + + The request host, taken from the Host request header in owin.RequestHeaders. + May include the port. + + + + + See owin.RequestPathBase. + + + + + The request path from owin.RequestPath. + + + + + The query string from owin.RequestQueryString. + + + + + owin.RequestQueryString parsed into a collection + + + + + A Uri with the combine parts of owin.RequestScheme, the Host header, owin.RequestPathBase, owin.RequestPath, and owin.RequestQueryString. + + + + + owin.RequestProtocol + + + + + owin.RequestHeaders in a wrapper + + + + + The Cookie header parsed into a collection + + + + + The Content-Type header + + + + + The Cache-Control header + + + + + The Media-Type header + + + + + The Accept header + + + + + The owin.RequestBody Stream. + + + + + owin.CallCancelled + + + + + server.LocalIpAddress + + + + + server.LocalPort + + + + + server.RemoteIpAddress + + + + + server.RemotePort + + + + + server.User. + + + + + Provides correct escaping for Path and PathBase values when needed to reconstruct a request or redirect URI string + + + + + Represents the empty path. This field is read-only. + + + + + Initalize the path string with a given value. This value must be in unescaped format. Use + PathString.FromUriComponent(value) if you have a path value which is in an escaped format. + + The unescaped path to be assigned to the Value property. + + + + Provides the path string escaped in a way which is correct for combining into the URI representation. + + The escaped path value + + + + Provides the path string escaped in a way which is correct for combining into the URI representation. + + The escaped path value + + + + Returns an PathString given the path as it is escaped in the URI format. The string MUST NOT contain any + value that is not a path. + + The escaped path as it appears in the URI format. + The resulting PathString + + + + Returns an PathString given the path as from a Uri object. Relative Uri objects are not supported. + + The Uri object + The resulting PathString + + + + Adds two PathString instances into a combined PathString value. + + The combined PathString value + + + + Combines a PathString and QueryString into the joined URI formatted string value. + + The joined URI formatted string value + + + + Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase. + + The second PathString for comparison. + True if both PathString values are equal + + + + Compares this PathString value to another value using a specific StringComparison type + + The second PathString for comparison + The StringComparison type to use + True if both PathString values are equal + + + + Compares this PathString value to another value. The default comparison is StringComparison.OrdinalIgnoreCase. + + The second PathString for comparison. + True if both PathString values are equal + + + + Returns the hash code for the PathString value. The hash code is provided by the OrdinalIgnoreCase implementation. + + The hash code + + + + Operator call through to Equals + + The left parameter + The right parameter + True if both PathString values are equal + + + + Operator call through to Equals + + The left parameter + The right parameter + True if both PathString values are not equal + + + + Operator call through to Add + + The left parameter + The right parameter + The PathString combination of both values + + + + Operator call through to Add + + The left parameter + The right parameter + The PathString combination of both values + + + + The unescaped path value + + + + + True if the path is not empty + + + + + Provides correct handling for QueryString value when needed to reconstruct a request or redirect URI string + + + + + Represents the empty query string. This field is read-only. + + + + + Initalize the query string with a given value. This value must be in escaped and delimited format without + a leading '?' character. + + The query string to be assigned to the Value property. + + + + Initialize a query string with a single given parameter name and value. The value is + + The unencoded parameter name + The unencoded parameter value + + + + Provides the query string escaped in a way which is correct for combining into the URI representation. + A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentally + dangerous are escaped. + + The query string value + + + + Provides the query string escaped in a way which is correct for combining into the URI representation. + A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentally + dangerous are escaped. + + The query string value + + + + Returns an PathString given the path as it is escaped in the URI format. The string MUST NOT contain any + value that is not a path. + + The escaped path as it appears in the URI format. + The resulting PathString + + + + Returns an PathString given the path as from a Uri object. Relative Uri objects are not supported. + + The Uri object + The resulting PathString + + + + The unescaped query string without the leading '?' character + + + + + True if the query string is not empty + + + + + A wrapper for the request Cookie header + + + + + Create a new wrapper + + + + + + + + + + + + + + + + + + Returns null rather than throwing KeyNotFoundException + + + + + + + A strongly-typed resource class, for looking up localized strings, etc. + + + + + Returns the cached ResourceManager instance used by this class. + + + + + Overrides the current thread's CurrentUICulture property for all + resource lookups using this strongly typed resource class. + + + + + Looks up a localized string similar to Conversion delegate must take one parameter.. + + + + + Looks up a localized string similar to The type '{0}' does not match any known middleware pattern.. + + + + + Looks up a localized string similar to The OWIN key 'server.OnSendingHeaders' is not available for this request.. + + + + + Looks up a localized string similar to The class '{0}' does not have a constructor taking {1} arguments.. + + + + + Looks up a localized string similar to No conversion available between {0} and {1}.. + + + + + Looks up a localized string similar to The path must not end with a '/'. + + + + + Looks up a localized string similar to The path must start with a '/' followed by one or more characters.. + + + + + Looks up a localized string similar to The path is required. + + + + + Looks up a localized string similar to The query string must start with a '?' unless null or empty.. + + + + + A standard implementation of IAppBuilder + + + + + + + + + + + + + + + + + Adds a middleware node to the OWIN function pipeline. The middleware are + invoked in the order they are added: the first middleware passed to Use will + be the outermost function, and the last middleware passed to Use will be the + innermost. + + + The middleware parameter determines which behavior is being chained into the + pipeline. + + If the middleware given to Use is a Delegate, then it will be invoked with the "next app" in + the chain as the first parameter. If the delegate takes more than the single argument, + then the additional values must be provided to Use in the args array. + + If the middleware given to Use is a Type, then the public constructor will be + invoked with the "next app" in the chain as the first parameter. The resulting object + must have a public Invoke method. If the object has constructors which take more than + the single "next app" argument, then additional values may be provided in the args array. + + + Any additional args passed to Use will be passed as additional values, following the "next app" + parameter, when the OWIN call pipeline is build. + + They are passed as additional parameters if the middleware parameter is a Delegate, or as additional + constructor arguments if the middle parameter is a Type. + + + The IAppBuilder itself is returned. This enables you to chain your use statements together. + + + + + The New method creates a new instance of an IAppBuilder. This is needed to create + a tree structure in your processing, rather than a linear pipeline. The new instance share the + same Properties, but will be created with a new, empty middleware list. + + To create a tangent pipeline you would first call New, followed by several calls to Use on + the new builder, ending with a call to Build on the new builder. The return value from Build + will be the entry-point to your tangent pipeline. This entry-point may now be added to the + main pipeline as an argument to a switching middleware, which will either call the tangent + pipeline or the "next app", based on something in the request. + + That said - all of that work is typically hidden by a middleware like Map, which will do that + for you. + + The new instance of the IAppBuilder implementation + + + + The Build is called at the point when all of the middleware should be chained + together. This is typically done by the hosting component which created the app builder, + and does not need to be called by the startup method if the IAppBuilder is passed in. + + + The Type argument indicates which calling convention should be returned, and + is typically typeof() for the OWIN + calling convention. + + + Returns an instance of the pipeline's entry point. This object may be safely cast to the + type which was provided + + + + + Contains arbitrary properties which may added, examined, and modified by + components during the startup sequence. + + + + + Simple object used by AppBuilder as seed OWIN callable if the + builder.Properties["builder.DefaultApp"] is not set + + + + + Abstracts the system clock to facilitate testing. + + + + + Retrieves the current system time in UTC. + + + + + Provides access to the normal system clock. + + + + + Retrieves the current system time in UTC. + + + + + Response generation utilities. + + + + + Append the given query to the uri. + + + + + + + + Append the given query key and value to the uri. + + + + + + + + + Append the given query keys and values to the uri. + + + + + + + + A wrapper for the response Set-Cookie header + + + + + Create a new wrapper + + + + + + Add a new cookie and value + + + + + + + Add a new cookie + + + + + + + + Sets an expired cookie + + + + + + Sets an expired cookie + + + + + + + Acts as the return value from calls to the IAuthenticationManager's AuthenticeAsync methods. + + + + + Create an instance of the result object + + Assigned to Identity. May be null. + Assigned to Properties. Contains extra information carried along with the identity. + Assigned to Description. Contains information describing the authentication provider. + + + + Contains the claims that were authenticated by the given AuthenticationType. If the authentication + type was not successful the Identity property will be null. + + + + + Contains extra values that were provided with the original SignIn call. + + + + + Contains description properties for the middleware authentication type in general. Does not + vary per request. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Extension methods used to indicate at which stage in the integrated pipeline prior middleware should run. + + + + + Call after other middleware to specify when they should run in the integrated pipeline. + + + The name of the integrated pipeline in which to run. + The original IAppBuilder for chaining. + + + + Call after other middleware to specify when they should run in the integrated pipeline. + + + The stage of the integrated pipeline in which to run. + The original IAppBuilder for chaining. + + + + Logging extension methods for IAppBuilder. + + + + + Sets the server.LoggerFactory in the Properties collection. + + + + + + + Retrieves the server.LoggerFactory from the Properties collection. + + + + + + + Creates a new ILogger instance from the server.LoggerFactory in the Properties collection. + + + + + + + + Creates a new ILogger instance from the server.LoggerFactory in the Properties collection. + + + + + + + + Creates a new ILogger instance from the server.LoggerFactory in the Properties collection. + + + + + + + + Used to create logger instances of the given name. + + + + + Creates a new ILogger instance of the given name. + + + + + + + A generic interface for logging. + + + + + Aggregates most logging patterns to a single method. This must be compatible with the Func representation in the OWIN environment. + + To check IsEnabled call WriteCore with only TraceEventType and check the return value, no event will be written. + + + + + + + + + + + Wraps an address in the host.Addresses list. + + + + + Create a new Address wrapper + + + + + + Create a new Address from the given parts + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Access the underlying IDictionary + + + + + + + + + + + + + + + + + + + + + + + + + Wraps the host.Addresses list + + + + + Create a new wrapper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The underlying list + + + + + + + + + + + + + + + + + A wrapper for the IAppBuilder.Properties IDictionary + + + + + Create a new wrapper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + owin.Version 1.0 + + + + + builder.DefaultApp AppFunc (404) + + + + + builder.AddSignatureConversion + + + + + host.AppName string + + + + + host.TraceOutput TextWriter + + + + + host.OnAppDisposing CancellationToken + + + + + host.Addresses + + + + + server.Capabilities + + + + + The underlying IDictionary + + + + + A wrapper for the server.Capabilities IDictionary + + + + + Create a new wrapper + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The underling IDictionary + + + + + sendfile.Version + + + + + websocket.Version + + + + + Options used to create a new cookie. + + + + + Creates a default cookie with a path of '/'. + + + + + The cookie domain. + + + + + The cookie path. + + + + + The cookie expiration date. + + + + + The cookie security requirement. + + + + + + + + + + Provides a default ILoggerFactory. + + + + + Provides a default ILoggerFactory based on System.Diagnostics.TraceSorce. + + + + + Extension methods for IAppBuilder. + + + + + The Build is called at the point when all of the middleware should be chained + together. May be called to build pipeline branches. + + + The request processing entry point for this section of the pipeline. + + + + The Build is called at the point when all of the middleware should be chained + together. May be called to build pipeline branches. + + The application signature. + + The request processing entry point for this section of the pipeline. + + + + Adds converters for adapting between disparate application signatures. + + + + + + + Adds converters for adapting between disparate application signatures. + + + + + + + + + Request processing helpers. + + + + + Parses an HTTP form body. + + + + + + + Converts between an OwinMiddlware and an . + + + + + + + + + + + + + + + + + + Transitions between and OwinMiddleware. + + + + + + + + + + + + + + + + + + Adds adapters between and OwinMiddleware. + + + + + Adds adapters between and OwinMiddleware. + + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Create a new context with only request and response header collections. + + + + + Creates a new environment wrapper exposing response properties. + + + + + + Registers for an event that fires when the response headers are sent. + + + + + + + Sets a 302 response status code and the Location header. + + + + + + Writes the given text to the response stream using UTF-8 + + + + + + Writes the given bytes to the response stream + + + + + + Writes the given bytes to the response stream + + + + + + + + Writes the given text to the response stream using UTF-8 + + + + + + + Writes the given text to the response stream using UTF-8 + + + + + + + + Writes the given bytes to the response stream + + + + + + + Writes the given bytes to the response stream + + + + + + + + Writes the given bytes to the response stream + + + + + + + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + + + + + + + Sets the given key and value in the OWIN environment. + + + + + + + + The wrapped OWIN environment. + + + + + + + + + + The optional owin.ResponseStatusCode. + + + + + The optional owin.ResponseReasonPhrase. + + + + + owin.ResponseProtocol + + + + + owin.ResponseHeaders in a wrapper + + + + + The Set-Cookie header in a wrapper + + + + + The Content-Length header + + + + + The Content-Type response header. + + + + + The Expires header + + + + + The ETag header + + + + + The owin.ResponseBody Stream. + + + + + Used to interact with authentication middleware that have been chained in the pipeline + + + + + Lists all of the description data provided by authentication middleware that have been chained + + The authentication descriptions + + + + Lists the description data of all of the authentication middleware which are true for a given predicate + + A function provided by the caller which returns true for descriptions that should be in the returned list + The authentication descriptions + + + + Call back through the middleware to ask for a specific form of authentication to be performed + on the current request + + Identifies which middleware should respond to the request + for authentication. This value is compared to the middleware's Options.AuthenticationType property. + Returns an object with the results of the authentication. The AuthenticationResult.Identity + may be null if authentication failed. Even if the Identity property is null, there may still be + AuthenticationResult.properties and AuthenticationResult.Description information returned. + + + + Called to perform any number of authentication mechanisms on the current request. + + Identifies one or more middleware which should attempt to respond + Returns the AuthenticationResult information from the middleware which responded. The + order is determined by the order the middleware are in the pipeline. Latest added is first in the list. + + + + Add information into the response environment that will cause the authentication middleware to challenge + the caller to authenticate. This also changes the status code of the response to 401. The nature of that + challenge varies greatly, and ranges from adding a response header or changing the 401 status code to + a 302 redirect. + + Additional arbitrary values which may be used by particular authentication types. + Identify which middleware should perform their alterations on the + response. If the authenticationTypes is null or empty, that means the + AuthenticationMode.Active middleware should perform their alterations on the response. + + + + Add information into the response environment that will cause the authentication middleware to challenge + the caller to authenticate. This also changes the status code of the response to 401. The nature of that + challenge varies greatly, and ranges from adding a response header or changing the 401 status code to + a 302 redirect. + + Identify which middleware should perform their alterations on the + response. If the authenticationTypes is null or empty, that means the + AuthenticationMode.Active middleware should perform their alterations on the response. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary. + Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2 + access code or token response. + + Contains additional properties the middleware are expected to persist along with + the claims. These values will be returned as the AuthenticateResult.properties collection when AuthenticateAsync + is called on subsequent requests. + Determines which claims are granted to the signed in user. The + ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType + value to determine which claims are granted by which middleware. The recommended use is to have a single + ClaimsIdentity which has the AuthenticationType matching a specific middleware. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to grant a claims-based identity to the recipient of the response. The exact mechanism of this may vary. + Examples include setting a cookie, to adding a fragment on the redirect url, or producing an OAuth2 + access code or token response. + + Determines which claims are granted to the signed in user. The + ClaimsIdentity.AuthenticationType property is compared to the middleware's Options.AuthenticationType + value to determine which claims are granted by which middleware. The recommended use is to have a single + ClaimsIdentity which has the AuthenticationType matching a specific middleware. + + + + Add information to the response environment that will cause the appropriate authentication middleware + to revoke any claims identity associated the the caller. The exact method varies. + + Identifies which middleware should perform the work to sign out. + Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear + cookies and redirect to an external single-sign out url. + + + + Returns the current user for the request + + + + + Exposes the security.Challenge environment value as a strong type. + + + + + Exposes the security.SignIn environment value as a strong type. + + + + + Exposes the security.SignOut environment value as a strong type. + + + + + + + + + + + + + + Exposes the security.Challenge environment value as a strong type. + + + + + Exposes the security.SignIn environment value as a strong type. + + + + + Exposes the security.SignOut environment value as a strong type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The full path or absolute URI to be used as an http redirect response value. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Provides an ILoggerFactory based on System.Diagnostics.TraceSource. + + + + + Creates a factory named "Microsoft.Owin". + + + + + + + + + + + + Creates a new DiagnosticsLogger for the given component name. + + + + + + + ILogger extension methods for common scenarios. + + + + + Checks if the given TraceEventType is enabled. + + + + + + + + Writes a verbose log message. + + + + + + + Writes an informational log message. + + + + + + + Writes a warning log message. + + + + + + + + Writes a warning log message. + + + + + + + + Writes an error log message. + + + + + + + Writes an error log message. + + + + + + + + Writes a critical log message. + + + + + + + Writes a critical log message. + + + + + + + diff --git a/lib/owin/Microsoft.Owin.dll b/lib/owin/Microsoft.Owin.dll new file mode 100644 index 0000000000000000000000000000000000000000..7c64470ded49160e53603707841adc2ddf685fea GIT binary patch literal 93360 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
    D_Rmx!y(=Lm3 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 literal 0 HcmV?d00001 diff --git a/lib/owin/Owin.dll b/lib/owin/Owin.dll new file mode 100644 index 0000000000000000000000000000000000000000..ba6e21eda71d055d039e42c9d0902349b3d073f7 GIT binary patch literal 4608 zcmeHKeQaA-6+h2$vSevP8rErDljUW}SfVvi?*^3(7u>Jg;gsGw5lkjQa7QoqE-~qb}$ttG^AAwP&-X97Jm0W zJ9d+9e*@Ze-tV1z&bjBFbMD7G8T|ZSDj^~_p1C=qqj>Y?7x>XI194UTu_~IaINfkm z8aUk$nN%$~V;U(_Ny~9X*9}{aG1<)OvZ~9$;jo-G63nx7>5WY}(<8k^15ye7EBWk5 zezr^GYN(VdiEad^%;65T;4S0v;~}aRw9E0EGr0ev%>cpQxQP&#e>YdEzWG7$K)FLj%@6NACesWk3eg0F+?I$N?_Bc}b?52)yN%}+jr-=JQaU3OT}IBi zTg7ceCYmW`d9FxaG>0v+oXTf1kat?vnYZhhO~CFCOh#(jDH| zEs-R=-|KTjS<1R~IR4 z?B5&;f>(|H@A=qn&4_VjGz^#emp>zkeEsu|cDfl1@RvC<~CE@G&VPmC^G84-3w#0^gFjg=*Kor7miMlVuck zwY$p50`i%h`FN(DMembTFL(}@=#`~o^FEz2ekCJ%LyDtX|| zJD^w6TF{LY0Ny3|_tA5pEjk7a(*a-)8NfLG0C+zgmV#7C?eLOE^ALSXP$lG^$!ElQ z4~l&7qn2+HHRVa7&kP!gtj5;U@RX{15}HP#Kqk|jRkZ{&1(VWN+%PpYM&W78W@%54 zp=m5`tA=iQ`kBs5HBO0CC%rnMJ3vS^6 zPy|Mp-3J?N$}sOQ*vJoI$y^W=uq>92Y10wa)>uI?&kiyxZmJm`?_yz(p(oW;)>J-3 zoYmlKkP*!2q z++y)@5XDqYwTqUR@5~Ze?9bZ1(UT|Hrr~|7nj+8Defvc!Kk~)s*b3jJJ>@bjuPJp^ z)!rbxYRYTtYD;CQwx+@@Q%!k!b4~^;lAE6mw=79j99&S7maXGt`OGu?6u4(_Z9=7t zUnJ;{h67%H1MtgayX$yq<=b^uYV^WS{u+P(gNj!Fj`D+-_w6|`K6BUJ0|y6&zx%_z zSEGk--~H5YfA{MH%ck14pSWS>s;~0!+1|SIq13iRZ;eK`{3^Eo`_F&#)urDkdAlXn z@#E6(B+j|^|1=f8IB{C~-V2|2bE@n})x<3m=FZoip6$DJO~{OGIMuiE$>cr9`z5;7 zGt?WI-@~hN%esz#2qcPB-83%>s#Zo*riZZGtN9ptULyM{By#h^O?0P3w-1kphUB6n zE?c%@+Sv?>8f?X+5@+~Ui2Jbx_k`Ei8E^M0pKe{V#@pHIOL$|gO47HsHQ`HiD0i<- zvd+!~J~9%Ocs*@mAcmqV?qyCmb;E5upApy1WHQlRga1*F6_h`HDcSM*q=Ng_v(8-WKi^SK z?Rc->sig!1@VLtd9K%<5E3lVFL4|0ThR_cI`#|${-2Ki6&NtVw<}u%n`;W3Z`Hk_@5LBC6y>NnBwkri8b5~7HfAA2G%jM3fdSNT8B{M>;a>t;CdtsUh1WLt8T9$g zwvZ*kkAvdPhr&~u_a_Lh1sV4<1MNZ_!!#u<@G;GZxiDr-*tCjty{MPC?>&tcM~Z;W0QiJ(K{SSIgWsua^d3GbOZn Routes { get; set; } + public void Publish(IEnumerable routes, Func, Task> pipeline) { + } } public class StubModelBinderProvider : IModelBinderProvider { diff --git a/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs b/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs index 75fec6f72..e83895d86 100644 --- a/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs +++ b/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs @@ -1,5 +1,7 @@ using System; +using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; using System.Web; using System.Web.Mvc; using System.Web.Routing; @@ -43,6 +45,11 @@ namespace Orchard.Tests.Mvc.Routes { rootBuilder.RegisterType().As(); rootBuilder.RegisterType().As(); + rootBuilder.Register>(c => { + var context = c.Resolve(); + return new + }); + _rootContainer = rootBuilder.Build(); _containerA = _rootContainer.BeginLifetimeScope( @@ -59,7 +66,7 @@ namespace Orchard.Tests.Mvc.Routes { builder.RegisterType().As().InstancePerMatchingLifetimeScope("shell"); }); } - + [Test] public void FactoryMethodWillCreateShellRoutes() { var settings = new ShellSettings { Name = "Alpha" }; diff --git a/src/Orchard.Web/Web.config b/src/Orchard.Web/Web.config index c4e45905b..b5b854387 100644 --- a/src/Orchard.Web/Web.config +++ b/src/Orchard.Web/Web.config @@ -13,6 +13,7 @@ + diff --git a/src/Orchard/Environment/DefaultOrchardShell.cs b/src/Orchard/Environment/DefaultOrchardShell.cs index 78199bcab..91379dce8 100644 --- a/src/Orchard/Environment/DefaultOrchardShell.cs +++ b/src/Orchard/Environment/DefaultOrchardShell.cs @@ -1,12 +1,18 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; using Autofac.Features.OwnedInstances; +using Microsoft.Owin.Builder; +using Orchard.Environment.Configuration; using Orchard.Logging; using Orchard.Mvc.ModelBinders; using Orchard.Mvc.Routes; +using Orchard.Owin; using Orchard.Tasks; +using Orchard.UI; using Orchard.WebApi.Routes; +using Owin; using IModelBinderProvider = Orchard.Mvc.ModelBinders.IModelBinderProvider; namespace Orchard.Environment { @@ -18,6 +24,8 @@ namespace Orchard.Environment { private readonly IEnumerable _modelBinderProviders; private readonly IModelBinderPublisher _modelBinderPublisher; private readonly ISweepGenerator _sweepGenerator; + private readonly IEnumerable _owinMiddlewareProviders; + private readonly ShellSettings _shellSettings; public DefaultOrchardShell( Func> eventsFactory, @@ -26,7 +34,9 @@ namespace Orchard.Environment { IRoutePublisher routePublisher, IEnumerable modelBinderProviders, IModelBinderPublisher modelBinderPublisher, - ISweepGenerator sweepGenerator) { + ISweepGenerator sweepGenerator, + IEnumerable owinMiddlewareProviders, + ShellSettings shellSettings) { _eventsFactory = eventsFactory; _routeProviders = routeProviders; _httpRouteProviders = httpRouteProviders; @@ -34,6 +44,8 @@ namespace Orchard.Environment { _modelBinderProviders = modelBinderProviders; _modelBinderPublisher = modelBinderPublisher; _sweepGenerator = sweepGenerator; + _owinMiddlewareProviders = owinMiddlewareProviders; + _shellSettings = shellSettings; Logger = NullLogger.Instance; } @@ -41,11 +53,27 @@ namespace Orchard.Environment { public ILogger Logger { get; set; } public void Activate() { + IAppBuilder appBuilder = new AppBuilder(); + appBuilder.Properties["host.AppName"] = _shellSettings.Name; + + var orderedMiddlewares = _owinMiddlewareProviders + .SelectMany(p => p.GetOwinMiddlewares()) + .OrderBy(obj => obj.Priority, new FlatPositionComparer()); + + foreach (var middleware in orderedMiddlewares) { + middleware.Configure(appBuilder); + } + + // register the Orchard middleware after all others + appBuilder.UseOrchard(); + + Func, Task> pipeline = appBuilder.Build(); + var allRoutes = new List(); allRoutes.AddRange(_routeProviders.SelectMany(provider => provider.GetRoutes())); allRoutes.AddRange(_httpRouteProviders.SelectMany(provider => provider.GetRoutes())); - _routePublisher.Publish(allRoutes); + _routePublisher.Publish(allRoutes, pipeline); _modelBinderPublisher.Publish(_modelBinderProviders.SelectMany(provider => provider.GetModelBinders())); using (var events = _eventsFactory()) { diff --git a/src/Orchard/Mvc/Routes/IRoutePublisher.cs b/src/Orchard/Mvc/Routes/IRoutePublisher.cs index 47675aa7a..6a8cee448 100644 --- a/src/Orchard/Mvc/Routes/IRoutePublisher.cs +++ b/src/Orchard/Mvc/Routes/IRoutePublisher.cs @@ -1,7 +1,9 @@ +using System; using System.Collections.Generic; +using System.Threading.Tasks; namespace Orchard.Mvc.Routes { public interface IRoutePublisher : IDependency { - void Publish(IEnumerable routes); + void Publish(IEnumerable routes, Func, Task> pipeline = null); } } \ No newline at end of file diff --git a/src/Orchard/Mvc/Routes/RoutePublisher.cs b/src/Orchard/Mvc/Routes/RoutePublisher.cs index b8344ed66..311e23ff9 100644 --- a/src/Orchard/Mvc/Routes/RoutePublisher.cs +++ b/src/Orchard/Mvc/Routes/RoutePublisher.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Threading.Tasks; using System.Web.Http; using System.Web.Mvc; using System.Web.Routing; @@ -31,7 +32,7 @@ namespace Orchard.Mvc.Routes { _extensionManager = extensionManager; } - public void Publish(IEnumerable routes) { + public void Publish(IEnumerable routes, Func, Task> env) { var routesArray = routes .OrderByDescending(r => r.Priority) .ToArray(); @@ -51,7 +52,7 @@ namespace Orchard.Mvc.Routes { preloading.Add(routeDescriptor.Name, routeDescriptor.Route); } - + using (_routeCollection.GetWriteLock()) { // existing routes are removed while the collection is briefly inaccessable @@ -60,7 +61,7 @@ namespace Orchard.Mvc.Routes { .Where(sr => sr.ShellSettingsName == _shellSettings.Name) .ToArray(); - foreach(var crop in cropArray) { + foreach (var crop in cropArray) { _routeCollection.Remove(crop); } @@ -70,17 +71,17 @@ namespace Orchard.Mvc.Routes { var defaultSessionState = SessionStateBehavior.Default; ExtensionDescriptor extensionDescriptor = null; - if(routeDescriptor.Route is Route) { + if (routeDescriptor.Route is Route) { object extensionId; var route = routeDescriptor.Route as Route; - if(route.DataTokens != null && route.DataTokens.TryGetValue("area", out extensionId) || + if (route.DataTokens != null && route.DataTokens.TryGetValue("area", out extensionId) || route.Defaults != null && route.Defaults.TryGetValue("area", out extensionId)) { - extensionDescriptor = _extensionManager.GetExtension(extensionId.ToString()); + extensionDescriptor = _extensionManager.GetExtension(extensionId.ToString()); } } - else if(routeDescriptor.Route is IRouteWithArea) { + else if (routeDescriptor.Route is IRouteWithArea) { var route = routeDescriptor.Route as IRouteWithArea; - extensionDescriptor = _extensionManager.GetExtension(route.Area); + extensionDescriptor = _extensionManager.GetExtension(route.Area); } if (extensionDescriptor != null) { @@ -91,9 +92,9 @@ namespace Orchard.Mvc.Routes { } // Route-level setting overrides module-level setting (from manifest). - var sessionStateBehavior = routeDescriptor.SessionState == SessionStateBehavior.Default ? defaultSessionState : routeDescriptor.SessionState ; + var sessionStateBehavior = routeDescriptor.SessionState == SessionStateBehavior.Default ? defaultSessionState : routeDescriptor.SessionState; - var shellRoute = new ShellRoute(routeDescriptor.Route, _shellSettings, _workContextAccessor, _runningShellTable) { + var shellRoute = new ShellRoute(routeDescriptor.Route, _shellSettings, _workContextAccessor, _runningShellTable, env) { IsHttpRoute = routeDescriptor is HttpRouteDescriptor, SessionState = sessionStateBehavior }; @@ -101,7 +102,7 @@ namespace Orchard.Mvc.Routes { try { _routeCollection.Add(routeDescriptor.Name, shellRoute); } - catch(ArgumentException) { + catch (ArgumentException) { // Named routes can be added multiple times in the case of a module // loaded in multiple tenants. There is no way to ensure a named route // is already registered, thus catching the specific exception. diff --git a/src/Orchard/Mvc/Routes/ShellRoute.cs b/src/Orchard/Mvc/Routes/ShellRoute.cs index 3d11576e4..54ade60dc 100644 --- a/src/Orchard/Mvc/Routes/ShellRoute.cs +++ b/src/Orchard/Mvc/Routes/ShellRoute.cs @@ -1,5 +1,6 @@ using System; -using System.Diagnostics; +using System.Collections.Generic; +using System.Threading.Tasks; using System.Web; using System.Web.Mvc; using System.Web.Routing; @@ -15,12 +16,14 @@ namespace Orchard.Mvc.Routes { private readonly ShellSettings _shellSettings; private readonly IWorkContextAccessor _workContextAccessor; private readonly IRunningShellTable _runningShellTable; + private readonly Func, Task> _pipeline; private readonly UrlPrefix _urlPrefix; - public ShellRoute(RouteBase route, ShellSettings shellSettings, IWorkContextAccessor workContextAccessor, IRunningShellTable runningShellTable) { + public ShellRoute(RouteBase route, ShellSettings shellSettings, IWorkContextAccessor workContextAccessor, IRunningShellTable runningShellTable, Func, Task> pipeline) { _route = route; _shellSettings = shellSettings; _runningShellTable = runningShellTable; + _pipeline = pipeline; _workContextAccessor = workContextAccessor; if (!string.IsNullOrEmpty(_shellSettings.RequestUrlPrefix)) _urlPrefix = new UrlPrefix(_shellSettings.RequestUrlPrefix); @@ -51,13 +54,13 @@ namespace Orchard.Mvc.Routes { return null; // otherwise wrap handler and return it - routeData.RouteHandler = new RouteHandler(_workContextAccessor, routeData.RouteHandler, SessionState); + routeData.RouteHandler = new RouteHandler(_workContextAccessor, routeData.RouteHandler, SessionState, _pipeline); routeData.DataTokens["IWorkContextAccessor"] = _workContextAccessor; if (IsHttpRoute) { routeData.Values["IWorkContextAccessor"] = _workContextAccessor; // for WebApi } - + return routeData; } @@ -88,26 +91,30 @@ namespace Orchard.Mvc.Routes { private readonly IWorkContextAccessor _workContextAccessor; private readonly IRouteHandler _routeHandler; private readonly SessionStateBehavior _sessionStateBehavior; + private readonly Func, Task> _pipeline; - public RouteHandler(IWorkContextAccessor workContextAccessor, IRouteHandler routeHandler, SessionStateBehavior sessionStateBehavior) { + public RouteHandler(IWorkContextAccessor workContextAccessor, IRouteHandler routeHandler, SessionStateBehavior sessionStateBehavior, Func, Task> pipeline) { _workContextAccessor = workContextAccessor; _routeHandler = routeHandler; _sessionStateBehavior = sessionStateBehavior; + _pipeline = pipeline; } public IHttpHandler GetHttpHandler(RequestContext requestContext) { var httpHandler = _routeHandler.GetHttpHandler(requestContext); + requestContext.HttpContext.SetSessionStateBehavior(_sessionStateBehavior); - + if (httpHandler is IHttpAsyncHandler) { - return new HttpAsyncHandler(_workContextAccessor, (IHttpAsyncHandler)httpHandler); + return new HttpAsyncHandler(_workContextAccessor, httpHandler, _pipeline); } + return new HttpHandler(_workContextAccessor, httpHandler); } } class HttpHandler : IHttpHandler, IRequiresSessionState, IHasRequestContext { - protected readonly IWorkContextAccessor _workContextAccessor; + private readonly IWorkContextAccessor _workContextAccessor; private readonly IHttpHandler _httpHandler; public HttpHandler(IWorkContextAccessor workContextAccessor, IHttpHandler httpHandler) { @@ -133,33 +140,39 @@ namespace Orchard.Mvc.Routes { } } - class HttpAsyncHandler : HttpHandler, IHttpAsyncHandler { + class HttpAsyncHandler : HttpTaskAsyncHandler { + private readonly IWorkContextAccessor _workContextAccessor; private readonly IHttpAsyncHandler _httpAsyncHandler; - private IDisposable _scope; + private readonly Func, Task> _pipeline; - public HttpAsyncHandler(IWorkContextAccessor containerProvider, IHttpAsyncHandler httpAsyncHandler) - : base(containerProvider, httpAsyncHandler) { - _httpAsyncHandler = httpAsyncHandler; + public HttpAsyncHandler(IWorkContextAccessor workContextAccessor, IHttpHandler httpHandler, Func, Task> env) { + _workContextAccessor = workContextAccessor; + _httpAsyncHandler = httpHandler as IHttpAsyncHandler; + _pipeline = env; } - public IAsyncResult BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData) { - _scope = _workContextAccessor.CreateWorkContextScope(new HttpContextWrapper(context)); - try { - return _httpAsyncHandler.BeginProcessRequest(context, cb, extraData); - } - catch { - _scope.Dispose(); - throw; - } + public override void ProcessRequest(HttpContext context) { + throw new NotImplementedException(); } - [DebuggerStepThrough] - public void EndProcessRequest(IAsyncResult result) { - try { - _httpAsyncHandler.EndProcessRequest(result); - } - finally { - _scope.Dispose(); + public override async Task ProcessRequestAsync(HttpContext context) { + using (_workContextAccessor.CreateWorkContextScope(new HttpContextWrapper(context))) { + + var environment = context.Items["owin.Environment"] as IDictionary; + + if (environment == null) { + throw new ArgumentException("owin.Environment can't be null"); + } + + environment["orchard.Handler"] = new Func(async () => { + await Task.Factory.FromAsync( + _httpAsyncHandler.BeginProcessRequest, + _httpAsyncHandler.EndProcessRequest, + context, + null); + }); + + await _pipeline.Invoke(environment); } } } diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj index 0dbaaf05a..4f7d03956 100644 --- a/src/Orchard/Orchard.Framework.csproj +++ b/src/Orchard/Orchard.Framework.csproj @@ -86,6 +86,12 @@ ..\..\lib\log4net\log4net.dll + + ..\..\lib\owin\Microsoft.Owin.dll + + + ..\..\lib\owin\Microsoft.Owin.Host.SystemWeb.dll + ..\..\lib\newtonsoft.json\Newtonsoft.Json.dll @@ -101,6 +107,9 @@ ..\..\lib\nhibernate.sqlazure\NHibernate.SqlAzure.dll + + ..\..\lib\owin\Owin.dll + 3.5 @@ -282,6 +291,10 @@ + + + + diff --git a/src/Orchard/Owin/IOwinMiddlewareProvider.cs b/src/Orchard/Owin/IOwinMiddlewareProvider.cs new file mode 100644 index 000000000..e7a274e91 --- /dev/null +++ b/src/Orchard/Owin/IOwinMiddlewareProvider.cs @@ -0,0 +1,7 @@ +using System.Collections.Generic; + +namespace Orchard.Owin { + public interface IOwinMiddlewareProvider : IDependency { + IEnumerable GetOwinMiddlewares(); + } +} \ No newline at end of file diff --git a/src/Orchard/Owin/OrchardMiddleware.cs b/src/Orchard/Owin/OrchardMiddleware.cs new file mode 100644 index 000000000..69d6bfe38 --- /dev/null +++ b/src/Orchard/Owin/OrchardMiddleware.cs @@ -0,0 +1,20 @@ +using System; +using System.Threading.Tasks; +using Owin; + +namespace Orchard.Owin { + public static class OrchardMiddleware { + public static IAppBuilder UseOrchard(this IAppBuilder app) { + app.Use(async (context, next) => { + var handler = context.Environment["orchard.Handler"] as Func; + + if (handler == null) { + throw new ArgumentException("orchard.Handler can't be null"); + } + await handler(); + }); + + return app; + } + } +} diff --git a/src/Orchard/Owin/OwinMiddleware.cs b/src/Orchard/Owin/OwinMiddleware.cs new file mode 100644 index 000000000..9a9784d9b --- /dev/null +++ b/src/Orchard/Owin/OwinMiddleware.cs @@ -0,0 +1,9 @@ +using System; +using Owin; + +namespace Orchard.Owin { + public class OwinMiddleware { + public Action Configure { get; set; } + public string Priority { get; set; } + } +} diff --git a/src/Orchard/Owin/Startup.cs b/src/Orchard/Owin/Startup.cs new file mode 100644 index 000000000..456bed044 --- /dev/null +++ b/src/Orchard/Owin/Startup.cs @@ -0,0 +1,12 @@ +using Owin; + +namespace Orchard.Owin { + public class Startup { + public void Configuration(IAppBuilder app) { + app.Use((context, next) => { + context.Response.Headers.Append("X-Generator", "Orchard"); + return next(); + }); + } + } +} \ No newline at end of file From 633615eb5c85f7cf584be7401ab581c2b0b17f8c Mon Sep 17 00:00:00 2001 From: Nicholas Mayne Date: Sun, 13 Jul 2014 10:42:21 +0100 Subject: [PATCH 2/9] Updating Owin assemlies, and fixing broken unit tests --- lib/owin/Microsoft.Owin.Host.SystemWeb.dll | Bin 148656 -> 131752 bytes lib/owin/Microsoft.Owin.Host.SystemWeb.xml | 34 +- lib/owin/Microsoft.Owin.XML | 1784 ++++++++++------- lib/owin/Microsoft.Owin.dll | Bin 93360 -> 101032 bytes .../Environment/DefaultOrchardHostTests.cs | 5 +- .../Mvc/Routes/ShellRouteTests.cs | 34 +- src/Orchard.Web/Orchard.Web.csproj | 3 + src/Orchard.Web/Web.config | 2 +- 8 files changed, 1101 insertions(+), 761 deletions(-) diff --git a/lib/owin/Microsoft.Owin.Host.SystemWeb.dll b/lib/owin/Microsoft.Owin.Host.SystemWeb.dll index 7a2c75e3fba634005423148627dd8c7c02b67af5..a8e370b87b783a449b20648850bef018039f7a7e 100644 GIT binary patch literal 131752 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�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

    9E!uE^bZXj0KqWfyf%u}zGB3+H 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 - -

    - - - - - - - - - - - - - - - - Used to provide the data protection services that are derived from the MachineKey API. It is the best choice of @@ -177,35 +159,39 @@ An instance of a data protection service - Provides extension methods for . + + Provides extension methods for . + - + Gets the for the current request. - + Gets the for the current request. - Provides extension methods for . + + Provides extension methods for . + - + Gets the for the current request. - + Gets the for the current request. diff --git a/lib/owin/Microsoft.Owin.XML b/lib/owin/Microsoft.Owin.XML index 3c01fbdbd..c76bbd4ad 100644 --- a/lib/owin/Microsoft.Owin.XML +++ b/lib/owin/Microsoft.Owin.XML @@ -4,63 +4,14 @@ Microsoft.Owin - - - This wraps OWIN environment dictionary and provides strongly typed accessors. - - - This wraps OWIN environment dictionary and provides strongly typed accessors. - - - - - Gets a value from the OWIN environment, or returns default(T) if not present. - - - - - - - - Sets the given key and value in the OWIN environment. - - - - - - - - Access the Authentication middleware functionality available on the current request. - - - - - A wrapper exposing request specific properties - - - - - A wrapper exposing response specific properties - - - - - The wrapped OWIN environment. - - - - - Gets or sets the host.TraceOutput environment value. - - - Extension methods for IAppBuilder. + Extension methods for . - + Inserts a middleware into the OWIN pipeline. The middleware type @@ -69,14 +20,14 @@ - + Inserts into the OWIN pipeline a middleware which does not have a next middleware reference. An app that handles all requests - + Inserts a middleware into the OWIN pipeline. An app that handles the request or calls the given next Func @@ -84,56 +35,33 @@ - Middleware for executing in-line Func middleware. + Represents a middleware for executing in-line function middleware. - + - An abstract base class for a standard middleware pattern. + Initializes a new instance of the class. + The pointer to next middleware. + A function that handles all requests. - + - Instantiates the middleware with an optional pointer to the next component. + Initializes a new instance of the class. - + The pointer to next middleware. + A function that handles the request or calls the given next function. - + - Process an individual request. + Invokes the handler for processing the request. - - - - - - The optional next component. - - - - - - - - An app that handles all requests - - - - - - - An app that handles the request or calls the given next Func - - - - Process an individual request. - - - + The OWIN context. + The object that represents the request operation. - + Contains the parsed form values. @@ -214,230 +142,230 @@ - + Contains the parsed form values. - + Initializes a new instance of the class. - + The store for the form. - A wrapper for owin.RequestHeaders and owin.ResponseHeaders + Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders. - A wrapper for owin.RequestHeaders and owin.ResponseHeaders + Represents a wrapper for owin.RequestHeaders and owin.ResponseHeaders. - Parses out comma separated headers into individual values. Quoted values will not be coma split, and the quotes will be removed. + Get the associated values from the collection separated into individual values. + Quoted values will not be split, and the quotes will be removed. - - + The header name. + the associated values from the collection separated into individual values, or null if the key is not present. Add a new value. Appends to the header if already present - - + The header name. + The header value. Add new values. Each item remains a separate array entry. - - + The header name. + The header values. Quotes any values containing comas, and then coma joins all of the values with any existing values. - - + The header name. + The header values. - Sets a specific header value + Sets a specific header value. - - + The header name. + The header value. - Sets the specified header values without modification + Sets the specified header values without modification. - - + The header name. + The header values. Quotes any values containing comas, and then coma joins all of the values. - - + The header name. + The header values. - Get or set the associated header value in the collection. Multiple values will be merged. - Returns null if the key is not present. + Get or sets the associated value from the collection as a single string. - - + The header name. + the associated value from the collection as a single string or null if the key is not present. - Create a new wrapper + Initializes a new instance of the class. - + The underlying data store. - + Returns an enumerator that iterates through a collection. - + An object that can be used to iterate through the collection. - + Returns an enumerator that iterates through a collection. - + An object that can be used to iterate through the collection. - Get the associated value from the collection. Multiple values will be merged. - Returns null if the key is not present. + Get the associated value from the collection as a single string. - - + The header name. + the associated value from the collection as a single string or null if the key is not present. - Get the associated values from the collection in their original format. - Returns null if the key is not present. + Get the associated values from the collection without modification. - - + The header name. + the associated value from the collection without modification, or null if the key is not present. - Parses out comma separated headers into individual values. Quoted values will not be coma split, and the quotes will be removed. + Get the associated values from the collection separated into individual values. + Quoted values will not be split, and the quotes will be removed. - - + The header name. + the associated values from the collection separated into individual values, or null if the key is not present. Add a new value. Appends to the header if already present - - + The header name. + The header value. Add new values. Each item remains a separate array entry. - - + The header name. + The header values. Quotes any values containing comas, and then coma joins all of the values with any existing values. - - + The header name. + The header values. - Sets a specific header value + Sets a specific header value. - - + The header name. + The header value. - Sets the specified header values without modification + Sets the specified header values without modification. - - + The header name. + The header values. Quotes any values containing comas, and then coma joins all of the values. - - + The header name. + The header values. - + Adds the given header and values to the collection. - - + The header name. + The header values. - + Determines whether the contains a specific key. - - + The key. + true if the contains a specific key; otherwise, false. - + Removes the given header from the collection. - - + The header name. + true if the specified object was removed from the collection; otherwise, false. - + Retrieves a value from the dictionary. - - - + The header name. + The value. + true if the contains the key; otherwise, false. - + Adds a new list of items to the collection. - + The item to add. - + Clears the entire list of objects. - + Returns a value indicating whether the specified object occurs within this collection. - - + The item. + true if the specified object occurs within this collection; otherwise, false. - + Copies the elements to a one-dimensional Array instance at the specified index. - - + The one-dimensional Array that is the destination of the specified objects copied from the . + The zero-based index in at which copying begins. - + Removes the given item from the the collection. - - + The item. + true if the specified object was removed from the collection; otherwise, false. - + Gets an that contains the keys in the ;. + An that contains the keys in the . @@ -446,183 +374,394 @@ - + Gets the number of elements contained in the ;. + The number of elements contained in the . - + Gets a value that indicates whether the is in read-only mode. + true if the is in read-only mode; otherwise, false. - Get or set the associated header value in the collection. Multiple values will be merged. - Returns null if the key is not present. + Get or sets the associated value from the collection as a single string. - - + The header name. + the associated value from the collection as a single string or null if the key is not present. Throws KeyNotFoundException if the key is not present. - + The header name. + + + Represents the host portion of a Uri can be used to construct Uri's properly formatted and encoded for use in + HTTP headers. + + + + + Creates a new HostString without modification. The value should be Unicode rather than punycode, and may have a port. + IPv4 and IPv6 addresses are also allowed, and also may have ports. + + + + + + Returns the value as normalized by ToUriComponent(). + + + + + + Returns the value properly formatted and encoded for use in a URI in a HTTP header. + Any Unicode is converted to punycode. IPv6 addresses will have brackets added if they are missing. + + + + + + Creates a new HostString from the given uri component. + Any punycode will be converted to Unicode. + + + + + + + Creates a new HostString from the host and port of the give Uri instance. + Punycode will be converted to Unicode. + + + + + + + Compares the equality of the Value property, ignoring case. + + + + + + + Compares against the given object only if it is a HostString. + + + + + + + Gets a hash code for the value. + + + + + + Compares the two instances for equality. + + + + + + + + Compares the two instances for inequality. + + + + + + + + Returns the original value from the constructor. + + + + + This handles cookies that are limited by per cookie length. It breaks down long cookies for responses, and reassembles them + from requests. + + + + + Get the reassembled cookie. Non chunked cookies are returned normally. + Cookies with missing chunks just have their "chunks:XX" header returned. + + + + The reassembled cookie, if any, or null. + + + + Appends a new response cookie to the Set-Cookie header. If the cookie is larger than the given size limit + then it will be broken down into multiple cookies as follows: + Set-Cookie: CookieName=chunks:3; path=/ + Set-Cookie: CookieNameC1=Segment1; path=/ + Set-Cookie: CookieNameC2=Segment2; path=/ + Set-Cookie: CookieNameC3=Segment3; path=/ + + + + + + + + + Deletes the cookie with the given key by setting an expired state. If a matching chunked cookie exists on + the request, delete each chunk. + + + + + + + + The maximum size of cookie to send back to the client. If a cookie exceeds this size it will be broken down into multiple + cookies. Set this value to null to disable this behavior. The default is 4090 characters, which is supported by all + common browsers. + + Note that browsers may also have limits on the total size of all cookies per domain, and on the number of cookies per domain. + + + + + Throw if not all chunks of a cookie are available on a request for re-assembly. + + + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets a wrapper exposing request specific properties. + + A wrapper exposing request specific properties. + + + + Gets a wrapper exposing response specific properties. + + A wrapper exposing response specific properties. + + + + Gets the Authentication middleware functionality available on the current request. + + The authentication middleware functionality available on the current request. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets or sets the host.TraceOutput environment value. + + The host.TraceOutput TextWriter. + This wraps OWIN environment dictionary and provides strongly typed accessors. + + - This wraps OWIN environment dictionary and provides strongly typed accessors. + Asynchronously reads and parses the request body as a form. + The parsed form data. Gets a value from the OWIN environment, or returns default(T) if not present. - - - + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. Sets the given key and value in the OWIN environment. - - - - - - - Parses the request body as a form - + The type of the value. + The key of the value to set. + The value to set. + This instance. - The wrapped OWIN environment. + Gets the OWIN environment. + The OWIN environment. - + Gets the request context. + The request context. - The HTTP method/verb, e.g. GET, POST, etc.. + Gets or set the HTTP method. + The HTTP method. - The HTTP request scheme (e.g. http or https) from owin.RequestScheme. + Gets or set the HTTP request scheme from owin.RequestScheme. + The HTTP request scheme from owin.RequestScheme. Returns true if the owin.RequestScheme is https. + true if this request is using https; otherwise, false. - The request host, taken from the Host request header in owin.RequestHeaders. - May include the port. + Gets or set the Host header. May include the port. + The Host header. - See owin.RequestPathBase. + Gets or set the owin.RequestPathBase. + The owin.RequestPathBase. - The request path from owin.RequestPath. + Gets or set the request path from owin.RequestPath. + The request path from owin.RequestPath. - The query string from owin.RequestQueryString. + Gets or set the query string from owin.RequestQueryString. + The query string from owin.RequestQueryString. - owin.RequestQueryString parsed into a collection + Gets the query value collection parsed from owin.RequestQueryString. + The query value collection parsed from owin.RequestQueryString. - A Uri with the combine parts of owin.RequestScheme, the Host header, owin.RequestPathBase, owin.RequestPath, and owin.RequestQueryString. + Gets the uniform resource identifier (URI) associated with the request. + The uniform resource identifier (URI) associated with the request. - owin.RequestProtocol + Gets or set the owin.RequestProtocol. + The owin.RequestProtocol. - owin.RequestHeaders in a wrapper + Gets the request headers. + The request headers. - The Cookie header parsed into a collection + Gets the collection of Cookies for this request. + The collection of Cookies for this request. - The Content-Type header + Gets or sets the Content-Type header. + The Content-Type header. - The Cache-Control header + Gets or sets the Cache-Control header. + The Cache-Control header. - The Media-Type header + Gets or sets the Media-Type header. + The Media-Type header. - The Accept header + Gets or set the Accept header. + The Accept header. - The owin.RequestBody Stream. + Gets or set the owin.RequestBody Stream. + The owin.RequestBody Stream. - owin.CallCancelled + Gets or sets the cancellation token for the request. + The cancellation token for the request. - server.LocalIpAddress + Gets or set the server.LocalIpAddress. + The server.LocalIpAddress. - server.LocalPort + Gets or set the server.LocalPort. + The server.LocalPort. - server.RemoteIpAddress + Gets or set the server.RemoteIpAddress. + The server.RemoteIpAddress. - server.RemotePort + Gets or set the server.RemotePort. + The server.RemotePort. - server.User. + Gets or set the server.User. + The server.User. @@ -633,150 +772,163 @@ Registers for an event that fires when the response headers are sent. - - + The callback method. + The callback state. Sets a 302 response status code and the Location header. - + The location where to redirect the client. - Writes the given text to the response stream using UTF-8 + Writes the given text to the response body stream using UTF-8. - + The response data. - Writes the given bytes to the response stream + Writes the given bytes to the response body stream. - + The response data. - Writes the given bytes to the response stream + Writes the given bytes to the response body stream. - - - + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. - Writes the given text to the response stream using UTF-8 + Asynchronously writes the given text to the response body stream using UTF-8. - - + The response data. + A Task tracking the state of the write operation. - Writes the given text to the response stream using UTF-8 + Asynchronously writes the given text to the response body stream using UTF-8. - - - + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. - Writes the given bytes to the response stream + Asynchronously writes the given bytes to the response body stream. - - + The response data. + A Task tracking the state of the write operation. - Writes the given bytes to the response stream + Asynchronously writes the given bytes to the response body stream. - - - + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. - Writes the given bytes to the response stream + Asynchronously writes the given bytes to the response body stream. - - - - - + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + A token used to indicate cancellation. + A Task tracking the state of the write operation. Gets a value from the OWIN environment, or returns default(T) if not present. - - - + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. Sets the given key and value in the OWIN environment. - - - + The type of the value. + The key of the value to set. + The value to set. + This instance. - The wrapped OWIN environment. + Gets the OWIN environment. + The OWIN environment. - + Gets the request context. + The request context. - The optional owin.ResponseStatusCode. + Gets or sets the optional owin.ResponseStatusCode. + The optional owin.ResponseStatusCode, or 200 if not set. - The optional owin.ResponseReasonPhrase. + Gets or sets the the optional owin.ResponseReasonPhrase. + The the optional owin.ResponseReasonPhrase. - owin.ResponseProtocol + Gets or sets the owin.ResponseProtocol. + The owin.ResponseProtocol. - owin.ResponseHeaders in a wrapper + Gets the response header collection. + The response header collection. - The Set-Cookie header in a wrapper + Gets a collection used to manipulate the Set-Cookie header. + A collection used to manipulate the Set-Cookie header. - The Content-Length header + Gets or sets the Content-Length header. + The Content-Length header. - The Content-Type response header. + Gets or sets the Content-Type header. + The Content-Type header. - The Expires header + Gets or sets the Expires header. + The Expires header. - The E-Tag header + Gets or sets the E-Tag header. + The E-Tag header. - The owin.ResponseBody Stream. + Gets or sets the owin.ResponseBody Stream. + The owin.ResponseBody Stream. @@ -785,27 +937,27 @@ - + Initializes a new instance of the class The startup class - + Initializes a new instance of the class A non-default configuration, e.g. staging. The startup class - + Initializes a new instance of the class The startup class Specifies which method to call - + Initializes a new instance of the class A non-default configuration, e.g. staging. The startup class @@ -828,62 +980,62 @@ - An ordered list of known Asp.Net integrated pipeline stages. + An ordered list of known Asp.Net integrated pipeline stages. More details on the ASP.NET integrated pipeline can be found at http://msdn.microsoft.com/en-us/library/system.web.httpapplication.aspx - + Corresponds to the AuthenticateRequest stage of the ASP.NET integrated pipeline. - + Corresponds to the PostAuthenticateRequest stage of the ASP.NET integrated pipeline. - + Corresponds to the AuthorizeRequest stage of the ASP.NET integrated pipeline. - + Corresponds to the PostAuthorizeRequest stage of the ASP.NET integrated pipeline. - + Corresponds to the ResolveRequestCache stage of the ASP.NET integrated pipeline. - + Corresponds to the PostResolveRequestCache stage of the ASP.NET integrated pipeline. - + Corresponds to the MapRequestHandler stage of the ASP.NET integrated pipeline. - + Corresponds to the PostMapRequestHandler stage of the ASP.NET integrated pipeline. - + Corresponds to the AcquireRequestState stage of the ASP.NET integrated pipeline. - + Corresponds to the PostAcquireRequestState stage of the ASP.NET integrated pipeline. - + Corresponds to the PreRequestHandlerExecute stage of the ASP.NET integrated pipeline. @@ -891,6 +1043,16 @@ Extension methods for the MapMiddleware + + + If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of + continuing to the next component in the pipeline. + + + The path to match + The branch to take for positive path matches + + If the request path starts with the given pathMatch, execute the app configured via configuration parameter instead of @@ -908,18 +1070,18 @@ Matching paths have the matching piece removed from owin.RequestPath and added to the owin.RequestPathBase. - + - + Initializes a new instance of the class The normal pipeline taken for a negative match - + - + Process an individual request. - + @@ -966,47 +1128,41 @@ to a user defined callback. - + - + Initializes a new instance of the class The normal application pipeline - + - + Process an individual request. - + Options for the MapWhen middleware - - Options for the MapWhen middleware - The user callback that determines if the branch should be taken - - - The branch taken for a positive match - - The async user callback that determines if the branch should be taken - + - This wraps OWIN environment dictionary and provides strongly typed accessors. + The branch taken for a positive match + + This wraps OWIN environment dictionary and provides strongly typed accessors. @@ -1020,214 +1176,54 @@ Create a new wrapper. - + OWIN environment dictionary which stores state information about the request, response and relevant server state. Gets a value from the OWIN environment, or returns default(T) if not present. - - - + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. Sets the given key and value in the OWIN environment. - - - + The type of the value. + The key of the value to set. + The value to set. + This instance. - A wrapper exposing request specific properties + Gets a wrapper exposing request specific properties. + A wrapper exposing request specific properties. - A wrapper exposing response specific properties + Gets a wrapper exposing response specific properties. + A wrapper exposing response specific properties. + + + + Gets the Authentication middleware functionality available on the current request. + + The authentication middleware functionality available on the current request. - The wrapped OWIN environment. + Gets the OWIN environment. + The OWIN environment. Gets or sets the host.TraceOutput environment value. - - - - Access the Authentication middleware functionality available on the current request. - - - - - This wraps OWIN environment dictionary and provides strongly typed accessors. - - - This wraps OWIN environment dictionary and provides strongly typed accessors. - - - - - Parses the request body as a form - - - - - Create a new context with only request and response header collections. - - - - - Create a new environment wrapper exposing request properties. - - - - - - Gets a value from the OWIN environment, or returns default(T) if not present. - - - - - - - - Sets the given key and value in the OWIN environment. - - - - - - - - The wrapped OWIN environment. - - - - - - - - - - The HTTP method/verb, e.g. GET, POST, etc.. - - - - - The HTTP request scheme (e.g. http or https) from owin.RequestScheme. - - - - - Returns true if the owin.RequestScheme is https. - - - - - The request host, taken from the Host request header in owin.RequestHeaders. - May include the port. - - - - - See owin.RequestPathBase. - - - - - The request path from owin.RequestPath. - - - - - The query string from owin.RequestQueryString. - - - - - owin.RequestQueryString parsed into a collection - - - - - A Uri with the combine parts of owin.RequestScheme, the Host header, owin.RequestPathBase, owin.RequestPath, and owin.RequestQueryString. - - - - - owin.RequestProtocol - - - - - owin.RequestHeaders in a wrapper - - - - - The Cookie header parsed into a collection - - - - - The Content-Type header - - - - - The Cache-Control header - - - - - The Media-Type header - - - - - The Accept header - - - - - The owin.RequestBody Stream. - - - - - owin.CallCancelled - - - - - server.LocalIpAddress - - - - - server.LocalPort - - - - - server.RemoteIpAddress - - - - - server.RemotePort - - - - - server.User. - + The host.TraceOutput TextWriter. @@ -1241,7 +1237,7 @@ - Initalize the path string with a given value. This value must be in unescaped format. Use + Initialize the path string with a given value. This value must be in un-escaped format. Use PathString.FromUriComponent(value) if you have a path value which is in an escaped format. The unescaped path to be assigned to the Value property. @@ -1273,6 +1269,21 @@ The Uri object The resulting PathString + + + Checks if this instance starts with or exactly matches the other instance. Only full segments are matched. + + + + + + + Checks if this instance starts with or exactly matches the other instance. Only full segments are matched. + + + Any remaining segments from this instance not included in the other instance. + + Adds two PathString instances into a combined PathString value. @@ -1367,7 +1378,7 @@ - Initalize the query string with a given value. This value must be in escaped and delimited format without + Initialize the query string with a given value. This value must be in escaped and delimited format without a leading '?' character. The query string to be assigned to the Value property. @@ -1382,7 +1393,7 @@ Provides the query string escaped in a way which is correct for combining into the URI representation. - A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentally + A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially dangerous are escaped. The query string value @@ -1390,29 +1401,65 @@ Provides the query string escaped in a way which is correct for combining into the URI representation. - A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentally + A leading '?' character will be prepended unless the Value is null or empty. Characters which are potentially dangerous are escaped. The query string value - Returns an PathString given the path as it is escaped in the URI format. The string MUST NOT contain any - value that is not a path. + Returns an QueryString given the query as it is escaped in the URI format. The string MUST NOT contain any + value that is not a query. - The escaped path as it appears in the URI format. - The resulting PathString + The escaped query as it appears in the URI format. + The resulting QueryString - Returns an PathString given the path as from a Uri object. Relative Uri objects are not supported. + Returns an QueryString given the query as from a Uri object. Relative Uri objects are not supported. The Uri object - The resulting PathString + The resulting QueryString + + + + Indicates whether the current instance is equal to the other instance. + + + + + + + Indicates whether the current instance is equal to the other instance. + + + + + + + Returns the hash code for this instance. + + + + + + Compares the two instances for equality. + + + + + + + + Compares the two instances for inequality. + + + + - The unescaped query string without the leading '?' character + The escaped query string without the leading '?' character @@ -1471,6 +1518,16 @@ Looks up a localized string similar to Conversion delegate must take one parameter.. + + + Looks up a localized string similar to The cookie key and options are larger than ChunksSize, leaving no room for data.. + + + + + Looks up a localized string similar to The chunked cookie is incomplete. Only {0} of the expected {1} chunks were found, totaling {2} characters. A client size limit may have been exceeded.. + + Looks up a localized string similar to The type '{0}' does not match any known middleware pattern.. @@ -1518,7 +1575,7 @@ - + Initializes a new instance of the the type. @@ -1597,6 +1654,7 @@ Contains arbitrary properties which may added, examined, and modified by components during the startup sequence. + Returns . @@ -1633,26 +1691,26 @@ Append the given query to the uri. - - - + The base uri. + The query string to append, if any. + The combine result. Append the given query key and value to the uri. - - - - + The base uri. + The name of the query key. + The query value. + The combine result. Append the given query keys and values to the uri. - - - + The base uri. + A collection of name value query pairs to append. + The combine result. @@ -1725,33 +1783,33 @@ - + Contains information describing an authentication provider. - + Initializes a new instance of the class - + Initializes a new instance of the class - + Contains metadata about the authentication provider. - + Gets or sets the name used to reference the authentication middleware instance. - + Gets or sets the display name for the authentication provider. @@ -1763,7 +1821,7 @@ Call after other middleware to specify when they should run in the integrated pipeline. - + The IAppBuilder. The name of the integrated pipeline in which to run. The original IAppBuilder for chaining. @@ -1771,7 +1829,7 @@ Call after other middleware to specify when they should run in the integrated pipeline. - + The IAppBuilder. The stage of the integrated pipeline in which to run. The original IAppBuilder for chaining. @@ -1850,371 +1908,383 @@ - Wraps an address in the host.Addresses list. + Contains the parts of an address. - Create a new Address wrapper + Initializes a new instance. - Create a new Address from the given parts + Initializes a new with the given parts. - - - - + The scheme. + The host. + The port. + The path. - + Creates a new - + A new - + Determines whether the specified object is equal to the current object. - - + The other object. + true if the specified object is equal to the current object; otherwise, false. - + Determines whether the specified object is equal to the current object. - - + The other object. + true if the specified object is equal to the current object; otherwise, false. - + Returns the hash code for this instance. - + The hash code for this instance. - + Determines whether two specified instances of are equal. - - - + The first object to compare. + The second object to compare. + true if left and right represent the same address; otherwise, false. - + Determines whether two specified instances of are not equal. - - - + The first object to compare. + The second object to compare. + true if left and right do not represent the same address; otherwise, false. - + Gets a specified key and value from the underlying dictionary. - + The key. - + Sets a specified key and value in the underlying dictionary. - - + The key. + The value. - Access the underlying IDictionary + Gets the internal dictionary for this collection. + The internal dictionary for this collection. - + The uri scheme. - + The uri host. - + The uri port. - + The uri path. - Wraps the host.Addresses list + Wraps the host.Addresses list. - Create a new wrapper + Initializes a new instance of the class. - + The address list to set to the collection. - + Adds the specified address to the collection. - + The address to add to the collection. - + Gets the enumerator that iterates through the collection. - + The enumerator that can be used to iterate through the collection. - + Gets the enumerator that iterates through the collection. - + The enumerator that can be used to iterate through the collection. - + Creates a new empty instance of . - + A new empty instance of . - + Determines whether the current collection is equal to the specified collection. - - + The other collection to compare to the current collection. + true if current collection is equal to the specified collection; otherwise, false. - + Determines whether the current collection is equal to the specified object. - - + The object to compare to the current collection. + true if current collection is equal to the specified object; otherwise, false. - + Gets the hash code for this instance. - + The hash code for this instance. - + Determines whether the first collection is equal to the second collection. - - - + The first collection to compare. + The second collection to compare. + true if both collections are equal; otherwise, false. - + Determines whether the first collection is not equal to the second collection. - - - + The first collection to compare. + The second collection to compare. + true if both collections are not equal; otherwise, false. - The underlying list + Gets the underlying address list. + The underlying address list. - + Gets the number of elements in the collection. + The number of elements in the collection. - + Gets the item with the specified index from the collection. - - + The index. + The item with the specified index. - A wrapper for the IAppBuilder.Properties IDictionary + A wrapper for the IDictionary. - Create a new wrapper + Initializes a new instance of the class. - + Determines whether the current AppProperties is equal to the specified AppProperties. - - + The other AppProperties to compare with the current instance. + true if the current AppProperties is equal to the specified AppProperties; otherwise, false. - + Determines whether the current AppProperties is equal to the specified object. - - + The object to compare with the current instance. + true if the current AppProperties is equal to the specified object; otherwise, false. - + Returns the hash code for this instance. - + The hash code for this instance. - + Determines whether the first AppPProperties is equal to the second AppProperties. - - - + The first AppPropeties to compare. + The second AppPropeties to compare. + true if both AppProperties are equal; otherwise, false. - + Determines whether the first AppPProperties is not equal to the second AppProperties. - - - + The first AppPropeties to compare. + The second AppPropeties to compare. + true if both AppProperties are not equal; otherwise, false. - + Gets the value from the dictionary with the specified key. - - - + The type of the value. + The key of the value to get. + The value with the specified key. - + Sets the value with the specified key. - - - + The key of the value to set. + The value to set. + This instance. - owin.Version 1.0 + Gets or sets the string value for “owin.Version”. + The string value for “owin.Version”. - builder.DefaultApp AppFunc (404) + Gets or sets the function delegate for “builder.DefaultApp”. + The function delegate for “builder.DefaultApp”. - builder.AddSignatureConversion + Gets or sets the action delegate for “builder.AddSignatureConversion”. + The action delegate for “builder.AddSignatureConversion”. - host.AppName string + Gets or sets the string value for “host.AppName”. + The string value for “host.AppName”. - host.TraceOutput TextWriter + Gets or sets the text writer for “host.TraceOutput”. + The text writer for “host.TraceOutput”. - host.OnAppDisposing CancellationToken + Gets or sets the cancellation token for “host.OnAppDisposing”. + The cancellation token for “host.OnAppDisposing”. - host.Addresses + Gets or sets the address collection for “host.Addresses”. + The address collection for “host.Addresses”. - server.Capabilities + Gets or sets the list of “server.Capabilities”. + The list of “server.Capabilities”. - The underlying IDictionary + Gets the underlying dictionary for this instance. + The underlying dictionary for this instance. - A wrapper for the server.Capabilities IDictionary + Represents the capabilities for the builder properties. - Create a new wrapper + Initializes a new instance of the class. - + Initializes a new instance of the class. - + A new instance of the class. - + Determines whether the current Capabilities instance is equal to the specified Capabilities. - - + The other Capabilities to compare with the current instance. + true if the specified object is equal to the current object; otherwise, false. - + Determines whether the current Capabilities is equal to the specified object. - - + The object to compare with the current instance. + true if the current Capabilities is equal to the specified object; otherwise, false. - + Returns the hash code for this instance. - + The hash code for this instance. - + Determines whether two specified instances of are equal. - - - + The first object to compare. + The second object to compare. + true if the two specified instances of are equal; otherwise, false. - + Determines whether two specified instances of are not equal. - - - + The first object to compare. + The second object to compare. + true if the two specified instances of are not equal; otherwise, false. - + Gets the value from the dictionary with the specified key. - - - + The type of the value. + The key of the value to get. + The value with the specified key. - + Sets the given key and value in the underlying dictionary. - - - + The key of the value to set. + The value to set. + This instance. @@ -2223,13 +2293,15 @@ - sendfile.Version + Gets or sets the string value for "sendfile.Version" + the string value for "sendfile.Version" - websocket.Version + Gets or sets the websocket version. + The websocket version. @@ -2243,28 +2315,33 @@ - The cookie domain. + Gets or sets the domain to associate the cookie with. + The domain to associate the cookie with. - The cookie path. + Gets or sets the cookie path. + The cookie path. - The cookie expiration date. + Gets or sets the expiration date and time for the cookie. + The expiration date and time for the cookie. - The cookie security requirement. + Gets or sets a value that indicates whether to transmit the cookie using Secure Sockets Layer (SSL)—that is, over HTTPS only. + true to transmit the cookie only over an SSL connection (HTTPS); otherwise, false. - + Gets or sets a value that indicates whether a cookie is accessible by client-side script. + true if a cookie is accessible by client-side script; otherwise, false. @@ -2316,21 +2393,44 @@ - Request processing helpers. + Provides helper methods for processing requests. Parses an HTTP form body. - - + The HTTP form body to parse. + The object containing the parsed HTTP form body. Converts between an OwinMiddlware and an . + + + An abstract base class for a standard middleware pattern. + + + + + Instantiates the middleware with an optional pointer to the next component. + + + + + + Process an individual request. + + + + + + + The optional next component. + + @@ -2359,7 +2459,7 @@ - + OWIN environment dictionary which stores state information about the request, response and relevant server state. @@ -2373,6 +2473,195 @@ + + + This wraps OWIN environment dictionary and provides strongly typed accessors. + + + + + Create a new context with only request and response header collections. + + + + + Create a new environment wrapper exposing request properties. + + OWIN environment dictionary which stores state information about the request, response and relevant server state. + + + + Asynchronously reads and parses the request body as a form. + + The parsed form data. + + + + Gets a value from the OWIN environment, or returns default(T) if not present. + + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. + + + + Sets the given key and value in the OWIN environment. + + The type of the value. + The key of the value to set. + The value to set. + This instance. + + + + Gets the OWIN environment. + + The OWIN environment. + + + + Gets the request context. + + The request context. + + + + Gets or set the HTTP method. + + The HTTP method. + + + + Gets or set the HTTP request scheme from owin.RequestScheme. + + The HTTP request scheme from owin.RequestScheme. + + + + Returns true if the owin.RequestScheme is https. + + true if this request is using https; otherwise, false. + + + + Gets or set the Host header. May include the port. + + The Host header. + + + + Gets or set the owin.RequestPathBase. + + The owin.RequestPathBase. + + + + Gets or set the request path from owin.RequestPath. + + The request path from owin.RequestPath. + + + + Gets or set the query string from owin.RequestQueryString. + + The query string from owin.RequestQueryString. + + + + Gets the query value collection parsed from owin.RequestQueryString. + + The query value collection parsed from owin.RequestQueryString. + + + + Gets the uniform resource identifier (URI) associated with the request. + + The uniform resource identifier (URI) associated with the request. + + + + Gets or set the owin.RequestProtocol. + + The owin.RequestProtocol. + + + + Gets the request headers. + + The request headers. + + + + Gets the collection of Cookies for this request. + + The collection of Cookies for this request. + + + + Gets or sets the Content-Type header. + + The Content-Type header. + + + + Gets or sets the Cache-Control header. + + The Cache-Control header. + + + + Gets or sets the Media-Type header. + + The Media-Type header. + + + + Gets or set the Accept header. + + The Accept header. + + + + Gets or set the owin.RequestBody Stream. + + The owin.RequestBody Stream. + + + + Gets or sets the cancellation token for the request. + + The cancellation token for the request. + + + + Gets or set the server.LocalIpAddress. + + The server.LocalIpAddress. + + + + Gets or set the server.LocalPort. + + The server.LocalPort. + + + + Gets or set the server.RemoteIpAddress. + + The server.RemoteIpAddress. + + + + Gets or set the server.RemotePort. + + The server.RemotePort. + + + + Gets or set the server.User. + + The server.User. + This wraps OWIN environment dictionary and provides strongly typed accessors. @@ -2387,156 +2676,169 @@ Creates a new environment wrapper exposing response properties. - + OWIN environment dictionary which stores state information about the request, response and relevant server state. Registers for an event that fires when the response headers are sent. - - + The callback method. + The callback state. Sets a 302 response status code and the Location header. - + The location where to redirect the client. - Writes the given text to the response stream using UTF-8 + Writes the given text to the response body stream using UTF-8. - + The response data. - Writes the given bytes to the response stream + Writes the given bytes to the response body stream. - + The response data. - Writes the given bytes to the response stream + Writes the given bytes to the response body stream. - - - + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. - Writes the given text to the response stream using UTF-8 + Asynchronously writes the given text to the response body stream using UTF-8. - - + The response data. + A Task tracking the state of the write operation. - Writes the given text to the response stream using UTF-8 + Asynchronously writes the given text to the response body stream using UTF-8. - - - + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. - Writes the given bytes to the response stream + Asynchronously writes the given bytes to the response body stream. - - + The response data. + A Task tracking the state of the write operation. - Writes the given bytes to the response stream + Asynchronously writes the given bytes to the response body stream. - - - + The response data. + A token used to indicate cancellation. + A Task tracking the state of the write operation. - Writes the given bytes to the response stream + Asynchronously writes the given bytes to the response body stream. - - - - - + The response data. + The zero-based byte offset in the parameter at which to begin copying bytes. + The number of bytes to write. + A token used to indicate cancellation. + A Task tracking the state of the write operation. Gets a value from the OWIN environment, or returns default(T) if not present. - - - + The type of the value. + The key of the value to get. + The value with the specified key or the default(T) if not present. Sets the given key and value in the OWIN environment. - - - + The type of the value. + The key of the value to set. + The value to set. + This instance. - The wrapped OWIN environment. + Gets the OWIN environment. + The OWIN environment. - + Gets the request context. + The request context. - The optional owin.ResponseStatusCode. + Gets or sets the optional owin.ResponseStatusCode. + The optional owin.ResponseStatusCode, or 200 if not set. - The optional owin.ResponseReasonPhrase. + Gets or sets the the optional owin.ResponseReasonPhrase. + The the optional owin.ResponseReasonPhrase. - owin.ResponseProtocol + Gets or sets the owin.ResponseProtocol. + The owin.ResponseProtocol. - owin.ResponseHeaders in a wrapper + Gets the response header collection. + The response header collection. - The Set-Cookie header in a wrapper + Gets a collection used to manipulate the Set-Cookie header. + A collection used to manipulate the Set-Cookie header. - The Content-Length header + Gets or sets the Content-Length header. + The Content-Length header. - The Content-Type response header. + Gets or sets the Content-Type header. + The Content-Type header. - The Expires header + Gets or sets the Expires header. + The Expires header. - The ETag header + Gets or sets the E-Tag header. + The E-Tag header. - The owin.ResponseBody Stream. + Gets or sets the owin.ResponseBody Stream. + The owin.ResponseBody Stream. @@ -2625,6 +2927,16 @@ value to determine which claims are granted by which middleware. The recommended use is to have a single ClaimsIdentity which has the AuthenticationType matching a specific middleware. + + + Add information to the response environment that will cause the appropriate authentication middleware + to revoke any claims identity associated the the caller. The exact method varies. + + Additional arbitrary values which may be used by particular authentication types. + Identifies which middleware should perform the work to sign out. + Multiple authentication types may be provided to clear out more than one cookie at a time, or to clear + cookies and redirect to an external single-sign out url. + Add information to the response environment that will cause the appropriate authentication middleware @@ -2680,115 +2992,132 @@ - + Dictionary used to store state values about the authentication session. - + Initializes a new instance of the class - + Initializes a new instance of the class - + State values about the authentication session. - + Gets or sets whether the authentication session is persisted across multiple requests. - The full path or absolute URI to be used as an http redirect response value. + Gets or sets the full path or absolute URI to be used as an http redirect response value. - + Gets or sets the time at which the authentication ticket was issued. - + Gets or sets the time at which the authentication ticket expires. + + + + + Gets or sets if refreshing the authentication session should be allowed. - + Exposes the security.Challenge environment value as a strong type. - + Initializes a new instance of the class - + List of the authentication types that should send a challenge in the response. - + Dictionary used to store state values about the authentication session. - + Exposes the security.SignIn environment value as a strong type. - + Initializes a new instance of the class. - + Initializes a new instance of the class. - + The identity associated with the user sign in. - + The security principal associated with the user sign in. - + Dictionary used to store state values about the authentication session. - + Exposes the security.SignOut and security.SignOutProperties environment values as a strong type. - + Initializes a new instance of the class + + + Initializes a new instance of the class + + + + - + List of the authentication types that should be revoked on sign out. + + + + + Dictionary used to store state values about the authentication session. @@ -2797,13 +3126,16 @@ + + Initializes a new instance of the class. + Creates a factory named "Microsoft.Owin". - + Initializes a new instance of the class. diff --git a/lib/owin/Microsoft.Owin.dll b/lib/owin/Microsoft.Owin.dll index 7c64470ded49160e53603707841adc2ddf685fea..478c6c2f064c0bb9fc43ce3b5d0a9cf1b91c0fe4 100644 GIT binary patch literal 101032 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

    NTPvP7dYpqC~6vum`fq*nf_ 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

    x%)2E^Nm8X61)MK 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

    Lo6R+yikH?yF`?N$nGW+3YBzw&>jZefZ{*Tj|~ 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

      D_Rmx!y(=Lm3 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 diff --git a/src/Orchard.Tests/Environment/DefaultOrchardHostTests.cs b/src/Orchard.Tests/Environment/DefaultOrchardHostTests.cs index f0d82221e..a855aa6b8 100644 --- a/src/Orchard.Tests/Environment/DefaultOrchardHostTests.cs +++ b/src/Orchard.Tests/Environment/DefaultOrchardHostTests.cs @@ -19,6 +19,7 @@ using Orchard.FileSystems.AppData; using Orchard.FileSystems.VirtualPath; using Orchard.Mvc.ModelBinders; using Orchard.Mvc.Routes; +using Orchard.Owin; using Orchard.Tests.Environment.TestDependencies; using Orchard.Tests.Stubs; using Orchard.Tests.Utility; @@ -62,7 +63,9 @@ namespace Orchard.Tests.Environment { .Ignore() .Ignore() .Ignore() - .Ignore(); + .Ignore() + .Ignore() + .Ignore(); }); _lifetime = _container.BeginLifetimeScope(); diff --git a/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs b/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs index c443a6b6f..0f2444a2e 100644 --- a/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs +++ b/src/Orchard.Tests/Mvc/Routes/ShellRouteTests.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Linq; +using System.Runtime.Remoting.Messaging; using System.Threading.Tasks; using System.Web; using System.Web.Mvc; @@ -47,7 +48,12 @@ namespace Orchard.Tests.Mvc.Routes { rootBuilder.Register>(c => { var context = c.Resolve(); - return new + return new Func(routeBase => + new ShellRoute( + routeBase, + _settingsA, + context.Resolve(), + context.Resolve(), objects => { return null; })); }); _rootContainer = rootBuilder.Build(); @@ -69,30 +75,34 @@ namespace Orchard.Tests.Mvc.Routes { [Test] public void FactoryMethodWillCreateShellRoutes() { - var settings = new ShellSettings { Name = "Alpha" }; var builder = new ContainerBuilder(); builder.RegisterType().InstancePerDependency(); builder.RegisterAutoMocking(); - builder.Register(ctx => settings); var container = builder.Build(); - var buildShellRoute = container.Resolve>(); + var buildShellRoute = new Func(routeBase => + new ShellRoute( + routeBase, + _settingsA, + container.Resolve(), + container.Resolve(), + objects => { return null; })); var routeA = new Route("foo", new MvcRouteHandler()); var route1 = buildShellRoute(routeA); var routeB = new Route("bar", new MvcRouteHandler()) { - DataTokens = new RouteValueDictionary { { "area", "Beta" } } + DataTokens = new RouteValueDictionary { { "area", _settingsB.Name } } }; var route2 = buildShellRoute(routeB); Assert.That(route1, Is.Not.SameAs(route2)); - Assert.That(route1.ShellSettingsName, Is.EqualTo("Alpha")); + Assert.That(route1.ShellSettingsName, Is.EqualTo(_settingsA.Name)); Assert.That(route1.Area, Is.Null); - Assert.That(route2.ShellSettingsName, Is.EqualTo("Alpha")); - Assert.That(route2.Area, Is.EqualTo("Beta")); + Assert.That(route2.ShellSettingsName, Is.EqualTo(_settingsA.Name)); + Assert.That(route2.Area, Is.EqualTo(_settingsB.Name)); } @@ -203,7 +213,13 @@ namespace Orchard.Tests.Mvc.Routes { .Returns(settings); - var shellRouteFactory = container.Resolve>(); + var shellRouteFactory = new Func(routeBase => + new ShellRoute( + routeBase, + settings, + container.Resolve(), + container.Resolve(), + objects => { return null; })); var helloRoute = shellRouteFactory(new Route( "hello", diff --git a/src/Orchard.Web/Orchard.Web.csproj b/src/Orchard.Web/Orchard.Web.csproj index e2183ce23..11749df13 100644 --- a/src/Orchard.Web/Orchard.Web.csproj +++ b/src/Orchard.Web/Orchard.Web.csproj @@ -50,6 +50,9 @@ ..\..\lib\autofac\Autofac.dll True + + ..\..\lib\owin\Microsoft.Owin.Host.SystemWeb.dll + ..\..\lib\aspnetmvc\Microsoft.Web.Infrastructure.dll True diff --git a/src/Orchard.Web/Web.config b/src/Orchard.Web/Web.config index 953f991d8..c1b7a98dd 100644 --- a/src/Orchard.Web/Web.config +++ b/src/Orchard.Web/Web.config @@ -14,7 +14,7 @@ - + From c933828e262a2737ce6b8630e350cd64f4e9e981 Mon Sep 17 00:00:00 2001 From: Sebastien Ros Date: Fri, 8 Aug 2014 16:44:01 -0700 Subject: [PATCH 3/9] Fixing upgrade to owin --- src/Orchard.Web/Web.config | 18 +++++++++--------- src/Orchard/Mvc/Routes/ShellRoute.cs | 2 +- src/Orchard/Orchard.Framework.csproj | 3 --- 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/src/Orchard.Web/Web.config b/src/Orchard.Web/Web.config index ad449179d..66983b736 100644 --- a/src/Orchard.Web/Web.config +++ b/src/Orchard.Web/Web.config @@ -21,13 +21,13 @@ - + + + + + - - - - - + @@ -53,6 +53,7 @@ + @@ -82,13 +83,12 @@ - - - + + diff --git a/src/Orchard/Mvc/Routes/ShellRoute.cs b/src/Orchard/Mvc/Routes/ShellRoute.cs index 54ade60dc..62c86fbe4 100644 --- a/src/Orchard/Mvc/Routes/ShellRoute.cs +++ b/src/Orchard/Mvc/Routes/ShellRoute.cs @@ -140,7 +140,7 @@ namespace Orchard.Mvc.Routes { } } - class HttpAsyncHandler : HttpTaskAsyncHandler { + class HttpAsyncHandler : HttpTaskAsyncHandler, IRequiresSessionState { private readonly IWorkContextAccessor _workContextAccessor; private readonly IHttpAsyncHandler _httpAsyncHandler; private readonly Func, Task> _pipeline; diff --git a/src/Orchard/Orchard.Framework.csproj b/src/Orchard/Orchard.Framework.csproj index 8732d322d..ee3c725d7 100644 --- a/src/Orchard/Orchard.Framework.csproj +++ b/src/Orchard/Orchard.Framework.csproj @@ -85,9 +85,6 @@ ..\..\lib\owin\Microsoft.Owin.dll - - ..\..\lib\owin\Microsoft.Owin.Host.SystemWeb.dll - False ..\..\lib\newtonsoft.json\Newtonsoft.Json.dll From cca9ecc6939abbe12b6a563a0a16dc38781e305e Mon Sep 17 00:00:00 2001 From: Lombiq Date: Mon, 27 Oct 2014 17:12:31 +0100 Subject: [PATCH 4/9] Updating Microsoft.Owin and Microsoft.Owin.Host.SystemWeb to latest (v3.0) --- lib/owin/Microsoft.Owin.Host.SystemWeb.dll | Bin 131752 -> 132776 bytes lib/owin/Microsoft.Owin.dll | Bin 101032 -> 101032 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/lib/owin/Microsoft.Owin.Host.SystemWeb.dll b/lib/owin/Microsoft.Owin.Host.SystemWeb.dll index a8e370b87b783a449b20648850bef018039f7a7e..6c8d50b16e521dedf0409753247869d0a3a03487 100644 GIT binary patch delta 46328 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%0A!~TKNz{uxjWP= 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 Kt8v=90sjH;wCuA0 diff --git a/lib/owin/Microsoft.Owin.dll b/lib/owin/Microsoft.Owin.dll index 478c6c2f064c0bb9fc43ce3b5d0a9cf1b91c0fe4..31932107747589d8364183e9499da7735b1e87f9 100644 GIT binary patch delta 1895 zcmZ8hc{JNu8~)vp5EZ0oRcvEdTOvU+Y8hHfYpBMSqDUfwa+FeA8`au|sa>iyrmY?$ zc0yyFQQNdsn(9!)*HJnhbZQ?}lzzX?IsN|l-g}*8rr#y~_edMKquXt`}W}S*eHz zd_YhUK*)pMB1ME1XVtVNae4iPVdNRts0NwXROJC#gPJN@zgAXs?)--cmoA~sdd!<3 zV(q}~^kO6J`6*vSO^0_o+ot{JBjv)XVu`2yuY`RKGgby{EIA<8oz5?xoa%Ip$0C0l zOl?-ad2U&|nwxPcsnfLqiFx)~qLemo-D%?C`3%9N3NNn#9AAWZ6b+R4WwA~^^2^31 z&@{9KGau@LxgVP3Zw$XYFQ@&^>78_VoXZb!zd^alyBxtQOR!|5PbZrPv&>io28+(3 zkXZzCI)!Nw{CSZWOmYZ|NHHU_@Jt4GlL?xzWCF#6WC=l1074Q?@FsX}X9#dKg59Kk zwhjS91wfF(bpR=_0Ca|WoGOit6Cl@PoPO49VPdL=)&xc@APF$Ou-#uGiu+9{z=;K= z18zhps4TJra$FfUu)*|-eUU&=FPFv!L~&Dyk-*Jo12)j$ZnJ?F;v<5q76xkE=@1z* zhk_v%WCnu(F<_>{puqLdxjCFsASPr1YrcR4tC(;<1Xd8?t{KcM2oKj7+{593aDWVN zq(CMR39=MW!$ANL!$T-8KLQvE{)zxNL;+qBoeCgn_?W5Y0&Emm0R?!8(r6H-Pz$_8 zYO|ldZ!kH%{edJ~*NXa^$Gsd44$IOeVn;o0tZEMadpVk*G8%jZWE{=S$i_rVOG{(& zH6y#!gYCbysFyRD0%QQIPx7^0b1;0$hw7f6^g^b}}ensL4yD zH@*J8XI*1R)2JdM$N2o)1o6kG9!8_*AE-9o%0<~GM00lHm&ddf;#(Rt^slM#R-FrN z@1<{D8y@r!m1u}1j`?)Ux4E^qp7&O#sws9o#oO*#fziMi_SW!58H-pQpqZx{H9QqE zW~icF_hSlA?z{B4NE82)doCTxcFokG8K(}umYb%N%JYXEF7fs;!u$*w?ajVp9cT;N zYO25YzDZy(LJUBlG7X^dX#j~=MTvQ-%7`BlSMbwU=8wi<7}k4bo3|Aa&dMWIbzH|- zu)|4O#r$*PJgHRX(&}8VJu-MJ>v_^%*7#4GTby;t_v3pb!xvMg(Y%=nMTxRsL^he% z>B)Vl8^by5IqR8K|kS7kUWD4mP7>HYn=a|(eANYA{^jO?1yhGM$T zc4JtUlytMl0D7f8HHDg=*tM7^a$coBDq9O7S#1g1c3C$&?$OEuY)XDq_{F?+_hyW? zf%HbFcv2c=*Ku_1Rm-97%NifbDT+FGb&V%-uJ#P|H2vVY?{py0*zM>)nQz-<+XPF9 zLIZ(a9B9TWxWC$=SnP_Ce01w>2SlG8&IzA(;UY7^CC&kC)L7ExR+VhNbEE9!`{jT; zw!WU9mP=9HECHpSp|8TgWj@ zb@tlh)H)ndqA`O<#7~1@8R+N8}o211k-v{ z62a^&UJHdjn&F(Wg#l=B0{rOS7uQ?~USPZaspk7cv#;_+SX78R9`ipDKq4XWG0$zRLMZcGd`>)fxf3F`{M3p|iI8Z?mik*e37@j# zQ<-_kazLAt$LIi$*1?gM53vt*vSVxvag|mlM&z9o)Qvs+3Z&FK4^&>vT?Gka^*7sb zNkWa&4T-?!YrAbizg}R8wqi#&ZgBU{`xRjXqb0rPvrob=@Xq2=Mk>{h2t-Rtv~L}s z$M^Ice3oIg;PA1jH&pHuvv|Hrrh6y&tsVAzDWT{%yKQWmrxf4YID1m$(c8D~7eM^0 zfaE6qdNB9pEw#u8zWMzdys7=ZypXPaLK0KhML?gcrBo!T4m=LcA#2C^>aF4a3kQrK A(f|Me delta 1903 zcmZ8hc{JNu8~)uS)+V+Jt)e|+yf_dU;j-sjwN?{n^bOLLV=bCt8N zBjvJY-c4h0i&wTCamJfBWQ8H61Ly<E{)tmd^ zM7nTU5+8A^9q09f9h#CWiYj}yF3m=tFY%w_Jq-NZ+Z>^bVq9H4>o)EIkzDfnuOeGh zs6ln+EyKR_=#gHuvewe?nxVta6%=oa(d3E()>f3iYuS2?0-O>n5ONkU66eQxpV++M zfP;piH8_i*MmV=YBjUvuqvy0LRV{f=S7h#~^NEix&zRFC6BO{y-iAzY3MS&|ROe7K zJ%mVbBGN<1!J%|AkwPL7hzv)%Gl5ESrr`NYq2M8wLcrsQLYF=>40apnI9Ym3iuk~U?)b7{6_&na=w2!Afn8m<#>K}I0y$e{MB$^fj}Yo z+nAvIFc~61PEasJgzyj@qC(D4C`5))2+aIdA^wfYup$&jWOz-1Nbn%QhygjmoHLB6 zFyjnY@O=FUK-ffqDLjOOB}9o&1PB61Dx}UAM*=$)2PhWa+fgza35*bGsQ^O5XU!%{ zw4=cXz{9KLu>ez7r}nkKTM_U0kw;0V`Ts@>cQ6%e{A3o;*9>^K{nM0b{w|llZx|pE zvVa-T*hBU5a3JD$lN=}n5{ch)9_(d{&CJIm6fJAE9sTE$Zj}A7`N^HfbIG>!A@(N| z5jycK!}n~S%E!Jl`w92ds*`P^6b~+OPhTwRX}6W-xd>0|XI`9;yE!S(f`RFkV8|l`2T4x=}8Y{LNV}Ygz8n=gEwbT@`dCwQS zzCGnfdspUF%dGRY;^_ph$7oD-ua4{*vSpg=t9t*Gv*!&bZtkd$cFU;9IHpGZNW!MH z4~D8@!?2iMrQ{;DpPt2E7YO}Y4{wAmj=hyF5l1q-H1cS=He91KlBMzh_XDiQ%%?PY z-|VC`du$V(+~=FxGgoMOyt;23*IAE10tg5>Kn>3UN_b;sJ2mY!P&ja3W%wm=H{S!ixwZvHZ|s6`XQRcu2Ten_ahVXCkfZMs0k zm1u1Y@kI9SJFKwf6=To3_vIivBPZ|I9m|@lstwl;zepw}D>>wTOaJ0RUpoeKT6BT@{ zGPvyC|9hGqcEAR)HZ5`g7kH$tdp7uxcl@x?mc-xu(P=`>DNuB=iLb;3@od$|LT!(c zAv>)DRxWS!FL@etdCm_MgDXbWZ~DTGrLA1H{HIIu?Ov9Poxv3`)b_ocrD(kCX(7?? z;A%+n_qPg;ZT;kqWh7x)=amERGpWt(!r#%|eG#<}1JsH8v5{?DogS4&)dxTeu zImzC-6&AgXNbZ|-hB7zLn5|}?aP;fzj=U+dIIA0>bZH>*K~%GB=X1>TwTY10S4{!M zj7JMnD_1LQZS*Xnv$J82E1(5Ww)x1?UcP-BUF!Iv>Lv46R@aYFW)}>wk;(=Qwhd^y ze22@a7hO2b*pq*vyrh+tm|u5%!Nez|207qR;(7M4Qw^!~i;v@v>j;NN{^jdH@c$o? zZ+8Q@vf)-opx~W|jsbWJWwmdw?Y*{w0ct1${OE|2xlxts#i4Pj@9bi?-rb?!VcUks z{7(dwlpqubKo42_E#0hcAGl$uFUXx5?u%-?TiD?lmzA}a-V^%%-tuTOS9&_mo8%7H;0#*} z0+7<3feLoFpeq( N-Pn;T)_40m{|o(g8A<>E From dff7f54d90215b2235f222e616d6e4ff7f339fbe Mon Sep 17 00:00:00 2001 From: Lombiq Date: Mon, 27 Oct 2014 17:13:00 +0100 Subject: [PATCH 5/9] Re-formatting Web.config after merge --- src/Orchard.Web/Web.config | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/Orchard.Web/Web.config b/src/Orchard.Web/Web.config index d4111d1e8..8fdd62e2c 100644 --- a/src/Orchard.Web/Web.config +++ b/src/Orchard.Web/Web.config @@ -12,21 +12,21 @@ - + - - - - - - - - - + + + + + + + + + @@ -56,7 +56,7 @@ - + @@ -90,7 +90,7 @@ - + From b0ba9e69e8394c1c8610da652af32eaec441d8f3 Mon Sep 17 00:00:00 2001 From: Lombiq Date: Wed, 29 Oct 2014 14:27:47 +0100 Subject: [PATCH 6/9] Removing duplicated lines from Web.config --- src/Orchard.Web/Web.config | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/Orchard.Web/Web.config b/src/Orchard.Web/Web.config index 8fdd62e2c..b12ca1072 100644 --- a/src/Orchard.Web/Web.config +++ b/src/Orchard.Web/Web.config @@ -25,8 +25,6 @@ - - @@ -90,7 +88,6 @@ - From a98907289fc04f703353c9befaef341b7d5bb5a6 Mon Sep 17 00:00:00 2001 From: Lombiq Date: Wed, 29 Oct 2014 14:29:34 +0100 Subject: [PATCH 7/9] Adding Owin configs to Specs Web.config and updated Warmup version --- src/Orchard.Specs/Hosting/Orchard.Web/Web.config | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Orchard.Specs/Hosting/Orchard.Web/Web.config b/src/Orchard.Specs/Hosting/Orchard.Web/Web.config index 83a1873ff..4c5d4e7f1 100644 --- a/src/Orchard.Specs/Hosting/Orchard.Web/Web.config +++ b/src/Orchard.Specs/Hosting/Orchard.Web/Web.config @@ -23,6 +23,7 @@ + @@ -67,6 +68,7 @@ + @@ -127,7 +129,7 @@ - + From c2cfd51c1d3720bfd3864c43b9b6589142c0afb4 Mon Sep 17 00:00:00 2001 From: Lombiq Date: Wed, 29 Oct 2014 14:32:07 +0100 Subject: [PATCH 8/9] Formatting Specs Web.config --- src/Orchard.Specs/Hosting/Orchard.Web/Web.config | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/Orchard.Specs/Hosting/Orchard.Web/Web.config b/src/Orchard.Specs/Hosting/Orchard.Web/Web.config index 4c5d4e7f1..8b00f2079 100644 --- a/src/Orchard.Specs/Hosting/Orchard.Web/Web.config +++ b/src/Orchard.Specs/Hosting/Orchard.Web/Web.config @@ -18,7 +18,7 @@

      - + @@ -58,7 +58,7 @@ during development. --> - + @@ -144,7 +144,7 @@ - + @@ -186,27 +186,27 @@ - + - + - + - + - + From ae0a195801f28c8bf8eb5e36173e41cba5a81360 Mon Sep 17 00:00:00 2001 From: Lombiq Date: Thu, 25 Dec 2014 00:10:45 +0100 Subject: [PATCH 9/9] Adding support for disabling Owin (with its standard appSettings config), and disabling it for Specs. This allows Specflow tests to be run, without Owin (since Owin prevented those tests from running, it requiring integrated pipeline that is not available when self-hosting through HttpRuntime). --- src/Orchard.Specs/Hosting/Orchard.Web/Web.config | 2 +- src/Orchard.Specs/Hosting/Simple.Web/Web.config | 1 + src/Orchard/Mvc/Routes/ShellRoute.cs | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Orchard.Specs/Hosting/Orchard.Web/Web.config b/src/Orchard.Specs/Hosting/Orchard.Web/Web.config index 8b00f2079..ef880caa1 100644 --- a/src/Orchard.Specs/Hosting/Orchard.Web/Web.config +++ b/src/Orchard.Specs/Hosting/Orchard.Web/Web.config @@ -23,7 +23,7 @@ - + diff --git a/src/Orchard.Specs/Hosting/Simple.Web/Web.config b/src/Orchard.Specs/Hosting/Simple.Web/Web.config index c381340cf..9826c578e 100644 --- a/src/Orchard.Specs/Hosting/Simple.Web/Web.config +++ b/src/Orchard.Specs/Hosting/Simple.Web/Web.config @@ -25,6 +25,7 @@ + diff --git a/src/Orchard/Mvc/Routes/ShellRoute.cs b/src/Orchard/Mvc/Routes/ShellRoute.cs index c080d7d95..6fdafcc27 100644 --- a/src/Orchard/Mvc/Routes/ShellRoute.cs +++ b/src/Orchard/Mvc/Routes/ShellRoute.cs @@ -166,7 +166,8 @@ namespace Orchard.Mvc.Routes { var environment = context.Items["owin.Environment"] as IDictionary; if (environment == null) { - throw new ArgumentException("owin.Environment can't be null"); + // It seems Owin is disabled by the owin:AutomaticAppStartup=false appSettings configuration. + environment = new Dictionary(); } environment["orchard.Handler"] = new Func(async () => {