HttpServer_OpenSim.xml 270 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456
  1. <?xml version="1.0"?>
  2. <doc>
  3. <assembly>
  4. <name>HttpServer_OpenSim</name>
  5. </assembly>
  6. <members>
  7. <member name="T:HttpServer.Exceptions.BadRequestException">
  8. <summary>
  9. The request could not be understood by the server due to malformed syntax.
  10. The client SHOULD NOT repeat the request without modifications.
  11. Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
  12. </summary>
  13. </member>
  14. <member name="T:HttpServer.Exceptions.HttpException">
  15. <summary>
  16. All HTTP based exceptions will derive this class.
  17. </summary>
  18. </member>
  19. <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)">
  20. <summary>
  21. Create a new HttpException
  22. </summary>
  23. <param name="code">http status code (sent in the response)</param>
  24. <param name="message">error description</param>
  25. </member>
  26. <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)">
  27. <summary>
  28. Create a new HttpException
  29. </summary>
  30. <param name="code">http status code (sent in the response)</param>
  31. <param name="message">error description</param>
  32. <param name="inner">inner exception</param>
  33. </member>
  34. <member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode">
  35. <summary>
  36. status code to use in the response.
  37. </summary>
  38. </member>
  39. <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)">
  40. <summary>
  41. Create a new bad request exception.
  42. </summary>
  43. <param name="errMsg">reason to why the request was bad.</param>
  44. </member>
  45. <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)">
  46. <summary>
  47. Create a new bad request exception.
  48. </summary>
  49. <param name="errMsg">reason to why the request was bad.</param>
  50. <param name="inner">inner exception</param>
  51. </member>
  52. <member name="T:HttpServer.Authentication.DigestAuthentication">
  53. <summary>
  54. Implements HTTP Digest authentication. It's more secure than Basic auth since password is
  55. encrypted with a "key" from the server.
  56. </summary>
  57. <remarks>
  58. Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure.
  59. </remarks>
  60. </member>
  61. <member name="T:HttpServer.Authentication.AuthenticationModule">
  62. <summary>
  63. Authentication modules are used to implement different
  64. kind of HTTP authentication.
  65. </summary>
  66. </member>
  67. <member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag">
  68. <summary>
  69. Tag used for authentication.
  70. </summary>
  71. </member>
  72. <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
  73. <summary>
  74. Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class.
  75. </summary>
  76. <param name="authenticator">Delegate used to provide information used during authentication.</param>
  77. <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
  78. </member>
  79. <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler)">
  80. <summary>
  81. Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class.
  82. </summary>
  83. <param name="authenticator">Delegate used to provide information used during authentication.</param>
  84. </member>
  85. <member name="M:HttpServer.Authentication.AuthenticationModule.CreateResponse(System.String,System.Object[])">
  86. <summary>
  87. Create a response that can be sent in the WWW-Authenticate header.
  88. </summary>
  89. <param name="realm">Realm that the user should authenticate in</param>
  90. <param name="options">Array with optional options.</param>
  91. <returns>A correct authentication request.</returns>
  92. <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
  93. </member>
  94. <member name="M:HttpServer.Authentication.AuthenticationModule.Authenticate(System.String,System.String,System.String,System.Object[])">
  95. <summary>
  96. An authentication response have been received from the web browser.
  97. Check if it's correct
  98. </summary>
  99. <param name="authenticationHeader">Contents from the Authorization header</param>
  100. <param name="realm">Realm that should be authenticated</param>
  101. <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
  102. <param name="options">options to specific implementations</param>
  103. <returns>Authentication object that is stored for the request. A user class or something like that.</returns>
  104. <exception cref="T:System.ArgumentException">if <paramref name="authenticationHeader"/> is invalid</exception>
  105. <exception cref="T:System.ArgumentNullException">If any of the parameters is empty or null.</exception>
  106. </member>
  107. <member name="M:HttpServer.Authentication.AuthenticationModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)">
  108. <summary>
  109. Used to invoke the authentication delegate that is used to lookup the user name/realm.
  110. </summary>
  111. <param name="realm">Realm (domain) that user want to authenticate in</param>
  112. <param name="userName">User name</param>
  113. <param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param>
  114. <param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param>
  115. <returns>true if authentication was successful</returns>
  116. </member>
  117. <member name="M:HttpServer.Authentication.AuthenticationModule.AuthenticationRequired(HttpServer.IHttpRequest)">
  118. <summary>
  119. Determines if authentication is required.
  120. </summary>
  121. <param name="request">HTTP request from browser</param>
  122. <returns>true if user should be authenticated.</returns>
  123. <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> from your delegate if no more attempts are allowed.</remarks>
  124. <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
  125. </member>
  126. <member name="P:HttpServer.Authentication.AuthenticationModule.Name">
  127. <summary>
  128. name used in HTTP request.
  129. </summary>
  130. </member>
  131. <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
  132. <summary>
  133. Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
  134. </summary>
  135. <param name="authenticator">Delegate used to provide information used during authentication.</param>
  136. <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
  137. </member>
  138. <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
  139. <summary>
  140. Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
  141. </summary>
  142. <param name="authenticator">Delegate used to provide information used during authentication.</param>
  143. </member>
  144. <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck">
  145. <summary>
  146. Used by test classes to be able to use hardcoded values
  147. </summary>
  148. </member>
  149. <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])">
  150. <summary>
  151. An authentication response have been received from the web browser.
  152. Check if it's correct
  153. </summary>
  154. <param name="authenticationHeader">Contents from the Authorization header</param>
  155. <param name="realm">Realm that should be authenticated</param>
  156. <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
  157. <param name="options">First option: true if username/password is correct but not cnonce</param>
  158. <returns>
  159. Authentication object that is stored for the request. A user class or something like that.
  160. </returns>
  161. <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
  162. <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
  163. </member>
  164. <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String)">
  165. <summary>
  166. Encrypts parameters into a Digest string
  167. </summary>
  168. <param name="realm">Realm that the user want to log into.</param>
  169. <param name="userName">User logging in</param>
  170. <param name="password">Users password.</param>
  171. <param name="method">HTTP method.</param>
  172. <param name="uri">Uri/domain that generated the login prompt.</param>
  173. <param name="qop">Quality of Protection.</param>
  174. <param name="nonce">"Number used ONCE"</param>
  175. <param name="nc">Hexadecimal request counter.</param>
  176. <param name="cnonce">"Client Number used ONCE"</param>
  177. <returns>Digest encrypted string</returns>
  178. </member>
  179. <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String)">
  180. <summary>
  181. </summary>
  182. <param name="ha1">Md5 hex encoded "userName:realm:password", without the quotes.</param>
  183. <param name="ha2">Md5 hex encoded "method:uri", without the quotes</param>
  184. <param name="qop">Quality of Protection</param>
  185. <param name="nonce">"Number used ONCE"</param>
  186. <param name="nc">Hexadecimal request counter.</param>
  187. <param name="cnonce">Client number used once</param>
  188. <returns></returns>
  189. </member>
  190. <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])">
  191. <summary>
  192. Create a response that can be sent in the WWW-Authenticate header.
  193. </summary>
  194. <param name="realm">Realm that the user should authenticate in</param>
  195. <param name="options">First options specifies if true if username/password is correct but not cnonce.</param>
  196. <returns>A correct auth request.</returns>
  197. <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
  198. </member>
  199. <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)">
  200. <summary>
  201. Decodes authorization header value
  202. </summary>
  203. <param name="buffer">header value</param>
  204. <param name="encoding">Encoding that the buffer is in</param>
  205. <returns>All headers and their values if successful; otherwise null</returns>
  206. <example>
  207. NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII);
  208. </example>
  209. <remarks>Can handle lots of whitespaces and new lines without failing.</remarks>
  210. </member>
  211. <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce">
  212. <summary>
  213. Gets the current nonce.
  214. </summary>
  215. <returns></returns>
  216. </member>
  217. <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)">
  218. <summary>
  219. Gets the Md5 hash bin hex2.
  220. </summary>
  221. <param name="toBeHashed">To be hashed.</param>
  222. <returns></returns>
  223. </member>
  224. <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)">
  225. <summary>
  226. determines if the nonce is valid or has expired.
  227. </summary>
  228. <param name="nonce">nonce value (check wikipedia for info)</param>
  229. <returns>true if the nonce has not expired.</returns>
  230. </member>
  231. <member name="P:HttpServer.Authentication.DigestAuthentication.Name">
  232. <summary>
  233. name used in http request.
  234. </summary>
  235. </member>
  236. <member name="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1">
  237. <summary>
  238. Gets or sets whether the token supplied in <see cref="T:HttpServer.Authentication.AuthenticationHandler"/> is a
  239. HA1 generated string.
  240. </summary>
  241. </member>
  242. <member name="T:HttpServer.Rules.RegexRedirectRule">
  243. <summary>
  244. Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules
  245. a regular expression can be used to identify redirect URLs and their targets.
  246. </summary>
  247. <example>
  248. <![CDATA[
  249. new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase)
  250. ]]>
  251. </example>
  252. </member>
  253. <member name="T:HttpServer.Rules.RedirectRule">
  254. <summary>
  255. redirects from one URL to another.
  256. </summary>
  257. </member>
  258. <member name="T:HttpServer.Rules.IRule">
  259. <summary>
  260. Rules are used to perform operations before a request is being handled.
  261. Rules can be used to create routing etc.
  262. </summary>
  263. </member>
  264. <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
  265. <summary>
  266. Process the incoming request.
  267. </summary>
  268. <param name="request">incoming HTTP request</param>
  269. <param name="response">outgoing HTTP response</param>
  270. <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
  271. <remarks>
  272. returning true means that no modules will get the request. Returning true is typically being done
  273. for redirects.
  274. </remarks>
  275. <exception cref="T:System.ArgumentNullException">If request or response is null.</exception>
  276. </member>
  277. <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)">
  278. <summary>
  279. Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class.
  280. </summary>
  281. <param name="fromUrl">Absolute path (no server name)</param>
  282. <param name="toUrl">Absolute path (no server name)</param>
  283. <example>
  284. server.Add(new RedirectRule("/", "/user/index"));
  285. </example>
  286. </member>
  287. <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)">
  288. <summary>
  289. Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class.
  290. </summary>
  291. <param name="fromUrl">Absolute path (no server name)</param>
  292. <param name="toUrl">Absolute path (no server name)</param>
  293. <param name="shouldRedirect">true if request should be redirected, false if the request URI should be replaced.</param>
  294. <example>
  295. server.Add(new RedirectRule("/", "/user/index"));
  296. </example>
  297. </member>
  298. <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
  299. <summary>
  300. Process the incoming request.
  301. </summary>
  302. <param name="request">incoming HTTP request</param>
  303. <param name="response">outgoing HTTP response</param>
  304. <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
  305. <remarks>
  306. returning true means that no modules will get the request. Returning true is typically being done
  307. for redirects.
  308. </remarks>
  309. </member>
  310. <member name="P:HttpServer.Rules.RedirectRule.FromUrl">
  311. <summary>
  312. Gets string to match request URI with.
  313. </summary>
  314. <remarks>Is compared to request.Uri.AbsolutePath</remarks>
  315. </member>
  316. <member name="P:HttpServer.Rules.RedirectRule.ToUrl">
  317. <summary>
  318. Gets where to redirect.
  319. </summary>
  320. </member>
  321. <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect">
  322. <summary>
  323. Gets whether server should redirect client.
  324. </summary>
  325. <remarks>
  326. <c>false</c> means that the rule will replace
  327. the current request URI with the new one from this class.
  328. <c>true</c> means that a redirect response is sent to the client.
  329. </remarks>
  330. </member>
  331. <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)">
  332. <summary>
  333. Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
  334. </summary>
  335. <param name="fromUrlExpression">Expression to match URL</param>
  336. <param name="toUrlExpression">Expression to generate URL</param>
  337. <example>
  338. <![CDATA[
  339. server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}"));
  340. Result of ie. /employee1 will then be /user/employee1
  341. ]]>
  342. </example>
  343. </member>
  344. <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
  345. <summary>
  346. Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
  347. </summary>
  348. <param name="fromUrlExpression">Expression to match URL</param>
  349. <param name="toUrlExpression">Expression to generate URL</param>
  350. <param name="options">Regular expression options to use, can be null</param>
  351. <example>
  352. <![CDATA[
  353. server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase));
  354. Result of ie. /employee1 will then be /user/employee1
  355. ]]>
  356. </example>
  357. </member>
  358. <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)">
  359. <summary>
  360. Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
  361. </summary>
  362. <param name="fromUrlExpression">Expression to match URL</param>
  363. <param name="toUrlExpression">Expression to generate URL</param>
  364. <param name="options">Regular expression options to apply</param>
  365. <param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param>
  366. <example>
  367. <![CDATA[
  368. server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None));
  369. Result of ie. /employee1 will then be /user/employee1
  370. ]]>
  371. </example>
  372. <exception cref="T:System.ArgumentNullException">Argument is null.</exception>
  373. <seealso cref="P:HttpServer.Rules.RedirectRule.ShouldRedirect"/>
  374. </member>
  375. <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
  376. <summary>
  377. Process the incoming request.
  378. </summary>
  379. <param name="request">incoming HTTP request</param>
  380. <param name="response">outgoing HTTP response</param>
  381. <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
  382. <remarks>
  383. returning true means that no modules will get the request. Returning true is typically being done
  384. for redirects.
  385. </remarks>
  386. <exception cref="T:System.ArgumentNullException">If request or response is null</exception>
  387. </member>
  388. <member name="T:HttpServer.ExceptionHandler">
  389. <summary>
  390. We dont want to let the server to die due to exceptions thrown in worker threads.
  391. therefore we use this delegate to give you a change to handle uncaught exceptions.
  392. </summary>
  393. <param name="source">Class that the exception was thrown in.</param>
  394. <param name="exception">Exception</param>
  395. <remarks>
  396. Server will throw a InternalServerException in release version if you dont
  397. handle this delegate.
  398. </remarks>
  399. </member>
  400. <member name="T:HttpServer.Authentication.AuthenticationHandler">
  401. <summary>
  402. Delegate used to let authentication modules authenticate the user name and password.
  403. </summary>
  404. <param name="realm">Realm that the user want to authenticate in</param>
  405. <param name="userName">User name specified by client</param>
  406. <param name="token">Can either be user password or implementation specific token.</param>
  407. <param name="login">object that will be stored in a session variable called <see cref="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag"/> if authentication was successful.</param>
  408. <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception>
  409. <remarks>
  410. <para>
  411. Use <see cref="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"/> to specify that the token is a HA1 token. (MD5 generated
  412. string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password);
  413. </para>
  414. </remarks>
  415. </member>
  416. <member name="T:HttpServer.Authentication.AuthenticationRequiredHandler">
  417. <summary>
  418. Let's you decide on a system level if authentication is required.
  419. </summary>
  420. <param name="request">HTTP request from client</param>
  421. <returns>true if user should be authenticated.</returns>
  422. <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> if no more attempts are allowed.</remarks>
  423. <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
  424. </member>
  425. <member name="T:HttpServer.Sessions.IHttpSession">
  426. <summary>
  427. Interface for sessions
  428. </summary>
  429. </member>
  430. <member name="M:HttpServer.Sessions.IHttpSession.Clear">
  431. <summary>
  432. Remove everything from the session
  433. </summary>
  434. </member>
  435. <member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)">
  436. <summary>
  437. Remove everything from the session
  438. </summary>
  439. <param name="expires">True if the session is cleared due to expiration</param>
  440. </member>
  441. <member name="P:HttpServer.Sessions.IHttpSession.Id">
  442. <summary>
  443. Session id
  444. </summary>
  445. </member>
  446. <member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)">
  447. <summary>
  448. Should
  449. </summary>
  450. <param name="name">Name of the session variable</param>
  451. <returns>null if it's not set</returns>
  452. <exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception>
  453. </member>
  454. <member name="P:HttpServer.Sessions.IHttpSession.Accessed">
  455. <summary>
  456. When the session was last accessed.
  457. This property is touched by the http server each time the
  458. session is requested.
  459. </summary>
  460. </member>
  461. <member name="P:HttpServer.Sessions.IHttpSession.Count">
  462. <summary>
  463. Number of session variables.
  464. </summary>
  465. </member>
  466. <member name="E:HttpServer.Sessions.IHttpSession.BeforeClear">
  467. <summary>
  468. Event triggered upon clearing the session
  469. </summary>
  470. </member>
  471. <member name="T:HttpServer.Sessions.HttpSessionClearedArgs">
  472. <summary>
  473. Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession"/> is cleared
  474. </summary>
  475. </member>
  476. <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)">
  477. <summary>
  478. Instantiates the arguments for the event
  479. </summary>
  480. <param name="expired">True if the session is cleared due to expiration</param>
  481. </member>
  482. <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired">
  483. <summary>
  484. Returns true if the session is cleared due to expiration
  485. </summary>
  486. </member>
  487. <member name="T:HttpServer.Sessions.HttpSessionClearedHandler">
  488. <summary>
  489. Delegate for when a IHttpSession is cleared
  490. </summary>
  491. <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param>
  492. <param name="args">Arguments for the clearing</param>
  493. </member>
  494. <member name="T:HttpServer.ResponseCookies">
  495. <summary>
  496. Cookies that should be set.
  497. </summary>
  498. </member>
  499. <member name="M:HttpServer.ResponseCookies.Add(HttpServer.ResponseCookie)">
  500. <summary>
  501. Adds a cookie in the collection.
  502. </summary>
  503. <param name="cookie">cookie to add</param>
  504. <exception cref="T:System.ArgumentNullException">cookie is null</exception>
  505. </member>
  506. <member name="M:HttpServer.ResponseCookies.Add(HttpServer.RequestCookie,System.DateTime)">
  507. <summary>
  508. Copy a request cookie
  509. </summary>
  510. <param name="cookie"></param>
  511. <param name="expires">When the cookie should expire</param>
  512. </member>
  513. <member name="M:HttpServer.ResponseCookies.GetEnumerator">
  514. <summary>
  515. Gets a collection enumerator on the cookie list.
  516. </summary>
  517. <returns>collection enumerator</returns>
  518. </member>
  519. <member name="M:HttpServer.ResponseCookies.Clear">
  520. <summary>
  521. Remove all cookies
  522. </summary>
  523. </member>
  524. <member name="M:HttpServer.ResponseCookies.System#Collections#Generic#IEnumerable{HttpServer#ResponseCookie}#GetEnumerator">
  525. <summary>
  526. Returns an enumerator that iterates through the collection.
  527. </summary>
  528. <returns>
  529. A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
  530. </returns>
  531. <filterpriority>1</filterpriority>
  532. </member>
  533. <member name="P:HttpServer.ResponseCookies.Count">
  534. <summary>
  535. Gets the count of cookies in the collection.
  536. </summary>
  537. </member>
  538. <member name="P:HttpServer.ResponseCookies.Item(System.String)">
  539. <summary>
  540. Gets the cookie of a given identifier (null if not existing).
  541. </summary>
  542. </member>
  543. <member name="T:HttpServer.RequestParserFactory">
  544. <summary>
  545. Creates request parsers when needed.
  546. </summary>
  547. </member>
  548. <member name="T:HttpServer.IRequestParserFactory">
  549. <summary>
  550. Creates request parsers when needed.
  551. </summary>
  552. </member>
  553. <member name="M:HttpServer.IRequestParserFactory.CreateParser(HttpServer.ILogWriter)">
  554. <summary>
  555. Create a new request parser.
  556. </summary>
  557. <param name="logWriter">Used when logging should be enabled.</param>
  558. <returns>A new request parser.</returns>
  559. </member>
  560. <member name="M:HttpServer.RequestParserFactory.CreateParser(HttpServer.ILogWriter)">
  561. <summary>
  562. Create a new request parser.
  563. </summary>
  564. <param name="logWriter">Used when logging should be enabled.</param>
  565. <returns>A new request parser.</returns>
  566. </member>
  567. <member name="T:HttpServer.Parser.HttpRequestParser">
  568. <summary>
  569. Parses a HTTP request directly from a stream
  570. </summary>
  571. </member>
  572. <member name="T:HttpServer.IHttpRequestParser">
  573. <summary>
  574. Event driven parser used to parse incoming HTTP requests.
  575. </summary>
  576. <remarks>
  577. The parser supports partial messages and keeps the states between
  578. each parsed buffer. It's therefore important that the parser gets
  579. <see cref="M:HttpServer.IHttpRequestParser.Clear"/>ed if a client disconnects.
  580. </remarks>
  581. </member>
  582. <member name="M:HttpServer.IHttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)">
  583. <summary>
  584. Parse partial or complete message.
  585. </summary>
  586. <param name="buffer">buffer containing incoming bytes</param>
  587. <param name="offset">where in buffer that parsing should start</param>
  588. <param name="count">number of bytes to parse</param>
  589. <returns>Unparsed bytes left in buffer.</returns>
  590. <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
  591. </member>
  592. <member name="M:HttpServer.IHttpRequestParser.Clear">
  593. <summary>
  594. Clear parser state.
  595. </summary>
  596. </member>
  597. <member name="P:HttpServer.IHttpRequestParser.CurrentState">
  598. <summary>
  599. Current state in parser.
  600. </summary>
  601. </member>
  602. <member name="E:HttpServer.IHttpRequestParser.RequestCompleted">
  603. <summary>
  604. A request have been successfully parsed.
  605. </summary>
  606. </member>
  607. <member name="E:HttpServer.IHttpRequestParser.BodyBytesReceived">
  608. <summary>
  609. More body bytes have been received.
  610. </summary>
  611. </member>
  612. <member name="E:HttpServer.IHttpRequestParser.RequestLineReceived">
  613. <summary>
  614. Request line have been received.
  615. </summary>
  616. </member>
  617. <member name="E:HttpServer.IHttpRequestParser.HeaderReceived">
  618. <summary>
  619. A header have been received.
  620. </summary>
  621. </member>
  622. <member name="P:HttpServer.IHttpRequestParser.LogWriter">
  623. <summary>
  624. Gets or sets the log writer.
  625. </summary>
  626. </member>
  627. <member name="M:HttpServer.Parser.HttpRequestParser.#ctor(HttpServer.ILogWriter)">
  628. <summary>
  629. Create a new request parser
  630. </summary>
  631. <param name="logWriter">delegate receiving log entries.</param>
  632. </member>
  633. <member name="M:HttpServer.Parser.HttpRequestParser.AddToBody(System.Byte[],System.Int32,System.Int32)">
  634. <summary>
  635. Add a number of bytes to the body
  636. </summary>
  637. <param name="buffer">buffer containing more body bytes.</param>
  638. <param name="offset">starting offset in buffer</param>
  639. <param name="count">number of bytes, from offset, to read.</param>
  640. <returns>offset to continue from.</returns>
  641. </member>
  642. <member name="M:HttpServer.Parser.HttpRequestParser.Clear">
  643. <summary>
  644. Remove all state information for the request.
  645. </summary>
  646. </member>
  647. <member name="M:HttpServer.Parser.HttpRequestParser.OnFirstLine(System.String)">
  648. <summary>
  649. Parse request line
  650. </summary>
  651. <param name="value"></param>
  652. <exception cref="T:HttpServer.Exceptions.BadRequestException">If line is incorrect</exception>
  653. <remarks>Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF"</remarks>
  654. </member>
  655. <member name="M:HttpServer.Parser.HttpRequestParser.OnHeader(System.String,System.String)">
  656. <summary>
  657. We've parsed a new header.
  658. </summary>
  659. <param name="name">Name in lower case</param>
  660. <param name="value">Value, unmodified.</param>
  661. <exception cref="T:HttpServer.Exceptions.BadRequestException">If content length cannot be parsed.</exception>
  662. </member>
  663. <member name="M:HttpServer.Parser.HttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)">
  664. <summary>
  665. Parse a message
  666. </summary>
  667. <param name="buffer">bytes to parse.</param>
  668. <param name="offset">where in buffer that parsing should start</param>
  669. <param name="count">number of bytes to parse, starting on <paramref name="offset"/>.</param>
  670. <returns>offset (where to start parsing next).</returns>
  671. <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
  672. </member>
  673. <member name="P:HttpServer.Parser.HttpRequestParser.LogWriter">
  674. <summary>
  675. Gets or sets the log writer.
  676. </summary>
  677. </member>
  678. <member name="P:HttpServer.Parser.HttpRequestParser.CurrentState">
  679. <summary>
  680. Current state in parser.
  681. </summary>
  682. </member>
  683. <member name="E:HttpServer.Parser.HttpRequestParser.RequestCompleted">
  684. <summary>
  685. A request have been successfully parsed.
  686. </summary>
  687. </member>
  688. <member name="E:HttpServer.Parser.HttpRequestParser.BodyBytesReceived">
  689. <summary>
  690. More body bytes have been received.
  691. </summary>
  692. </member>
  693. <member name="E:HttpServer.Parser.HttpRequestParser.RequestLineReceived">
  694. <summary>
  695. Request line have been received.
  696. </summary>
  697. </member>
  698. <member name="E:HttpServer.Parser.HttpRequestParser.HeaderReceived">
  699. <summary>
  700. A header have been received.
  701. </summary>
  702. </member>
  703. <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs">
  704. <summary>
  705. Used to inform http server that
  706. </summary>
  707. </member>
  708. <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)">
  709. <summary>
  710. Eventarguments used when an exception is thrown by a module
  711. </summary>
  712. <param name="e">the exception</param>
  713. </member>
  714. <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception">
  715. <summary>
  716. Exception thrown in a module
  717. </summary>
  718. </member>
  719. <member name="T:HttpServer.HttpForm">
  720. <summary>Container for posted form data</summary>
  721. </member>
  722. <member name="T:HttpServer.HttpInput">
  723. <summary>
  724. Contains some kind of input from the browser/client.
  725. can be QueryString, form data or any other request body content.
  726. </summary>
  727. </member>
  728. <member name="T:HttpServer.IHttpInput">
  729. <summary>
  730. Base class for request data containers
  731. </summary>
  732. </member>
  733. <member name="M:HttpServer.IHttpInput.Add(System.String,System.String)">
  734. <summary>
  735. Adds a parameter mapped to the presented name
  736. </summary>
  737. <param name="name">The name to map the parameter to</param>
  738. <param name="value">The parameter value</param>
  739. </member>
  740. <member name="M:HttpServer.IHttpInput.Contains(System.String)">
  741. <summary>
  742. Returns true if the container contains the requested parameter
  743. </summary>
  744. <param name="name">Parameter id</param>
  745. <returns>True if parameter exists</returns>
  746. </member>
  747. <member name="P:HttpServer.IHttpInput.Item(System.String)">
  748. <summary>
  749. Returns a request parameter
  750. </summary>
  751. <param name="name">The name associated with the parameter</param>
  752. <returns></returns>
  753. </member>
  754. <member name="F:HttpServer.HttpInput.Empty">
  755. <summary> Representation of a non-initialized class instance </summary>
  756. </member>
  757. <member name="F:HttpServer.HttpInput._ignoreChanges">
  758. <summary> Variable telling the class that it is non-initialized <see cref="F:HttpServer.HttpInput.Empty"/> </summary>
  759. </member>
  760. <member name="M:HttpServer.HttpInput.#ctor(System.String)">
  761. <summary>
  762. Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
  763. </summary>
  764. <param name="name">form name.</param>
  765. </member>
  766. <member name="M:HttpServer.HttpInput.#ctor(System.String,System.Boolean)">
  767. <summary>
  768. Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
  769. </summary>
  770. <param name="name">form name.</param>
  771. <param name="ignoreChanges">if set to <c>true</c> all changes will be ignored. </param>
  772. <remarks>this constructor should only be used by Empty</remarks>
  773. </member>
  774. <member name="M:HttpServer.HttpInput.#ctor(HttpServer.HttpInput)">
  775. <summary>Creates a deep copy of the HttpInput class</summary>
  776. <param name="input">The object to copy</param>
  777. <remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
  778. </member>
  779. <member name="M:HttpServer.HttpInput.Add(System.String,System.String)">
  780. <summary>
  781. Add a new element. Form array elements are parsed
  782. and added in a correct hierarchy.
  783. </summary>
  784. <param name="name">Name is converted to lower case.</param>
  785. <param name="value"></param>
  786. <exception cref="T:System.ArgumentNullException"><c>name</c> is null.</exception>
  787. <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
  788. </member>
  789. <member name="M:HttpServer.HttpInput.Contains(System.String)">
  790. <summary>
  791. Returns true if the class contains a <see cref="T:HttpServer.HttpInput"/> with the corresponding name.
  792. </summary>
  793. <param name="name">The field/query string name</param>
  794. <returns>True if the value exists</returns>
  795. </member>
  796. <member name="M:HttpServer.HttpInput.ParseItem(System.String,System.String)">
  797. <summary>
  798. Parses an item and returns it.
  799. This function is primarily used to parse array items as in user[name].
  800. </summary>
  801. <param name="name"></param>
  802. <param name="value"></param>
  803. <returns></returns>
  804. </member>
  805. <member name="M:HttpServer.HttpInput.ToString">
  806. <summary> Outputs the instance representing all its values joined together </summary>
  807. <returns></returns>
  808. </member>
  809. <member name="M:HttpServer.HttpInput.ToString(System.Boolean)">
  810. <summary>Returns all items as an unescaped query string.</summary>
  811. <returns></returns>
  812. </member>
  813. <member name="M:HttpServer.HttpInput.ExtractOne(System.String)">
  814. <summary>
  815. Extracts one parameter from an array
  816. </summary>
  817. <param name="value">Containing the string array</param>
  818. <returns>All but the first value</returns>
  819. <example>
  820. string test1 = ExtractOne("system[user][extension][id]");
  821. string test2 = ExtractOne(test1);
  822. string test3 = ExtractOne(test2);
  823. // test1 = user[extension][id]
  824. // test2 = extension[id]
  825. // test3 = id
  826. </example>
  827. </member>
  828. <member name="M:HttpServer.HttpInput.Clear">
  829. <summary>Resets all data contained by class</summary>
  830. </member>
  831. <member name="M:HttpServer.HttpInput.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
  832. <summary>
  833. Returns an enumerator that iterates through the collection.
  834. </summary>
  835. <returns>
  836. A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
  837. </returns>
  838. <filterpriority>1</filterpriority>
  839. </member>
  840. <member name="M:HttpServer.HttpInput.GetEnumerator">
  841. <summary>
  842. Returns an enumerator that iterates through a collection.
  843. </summary>
  844. <returns>
  845. An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
  846. </returns>
  847. <filterpriority>2</filterpriority>
  848. </member>
  849. <member name="P:HttpServer.HttpInput.Name">
  850. <summary>
  851. Form name as lower case
  852. </summary>
  853. </member>
  854. <member name="P:HttpServer.HttpInput.Item(System.String)">
  855. <summary>
  856. Get a form item.
  857. </summary>
  858. <param name="name"></param>
  859. <returns>Returns <see cref="F:HttpServer.HttpInputItem.Empty"/> if item was not found.</returns>
  860. </member>
  861. <member name="F:HttpServer.HttpForm.EmptyForm">
  862. <summary>Instance to help mark a non-initialized form</summary>
  863. </member>
  864. <member name="M:HttpServer.HttpForm.#ctor">
  865. <summary>Initializes a form container with the specified name</summary>
  866. </member>
  867. <member name="M:HttpServer.HttpForm.#ctor(HttpServer.HttpInput)">
  868. <summary>
  869. Makes a deep copy of the input
  870. </summary>
  871. <param name="input">The input to copy</param>
  872. </member>
  873. <member name="M:HttpServer.HttpForm.AddFile(HttpServer.HttpFile)">
  874. <summary>
  875. Adds a file to the collection of posted files
  876. </summary>
  877. <param name="file">The file to add</param>
  878. <exception cref="T:System.ArgumentException">If the file is already added</exception>
  879. <exception cref="T:System.ArgumentNullException">If file is null</exception>
  880. <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
  881. </member>
  882. <member name="M:HttpServer.HttpForm.ContainsFile(System.String)">
  883. <summary>
  884. Checks if the form contains a specified file
  885. </summary>
  886. <param name="name">Field name of the file parameter</param>
  887. <returns>True if the file exists</returns>
  888. <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
  889. </member>
  890. <member name="M:HttpServer.HttpForm.GetFile(System.String)">
  891. <summary>
  892. Retrieves a file held by by the form
  893. </summary>
  894. <param name="name">The identifier of the file</param>
  895. <returns>The requested file or null if the file was not found</returns>
  896. <exception cref="T:System.ArgumentNullException">If name is null or empty</exception>
  897. <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
  898. </member>
  899. <member name="M:HttpServer.HttpForm.Clear">
  900. <summary>Disposes all held HttpFile's and resets values</summary>
  901. </member>
  902. <member name="P:HttpServer.HttpForm.Files">
  903. <summary>
  904. Retrieves the number of files added to the <see cref="T:HttpServer.HttpForm"/>
  905. </summary>
  906. <returns>0 if no files are added</returns>
  907. </member>
  908. <member name="T:HttpServer.FormDecoders.IFormDecoder">
  909. <summary>
  910. Interface for form content decoders.
  911. </summary>
  912. </member>
  913. <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
  914. <summary>
  915. </summary>
  916. <param name="stream">Stream containing the content</param>
  917. <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
  918. <param name="encoding">Stream enconding</param>
  919. <returns>A http form, or null if content could not be parsed.</returns>
  920. <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
  921. </member>
  922. <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)">
  923. <summary>
  924. Checks if the decoder can handle the mime type
  925. </summary>
  926. <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
  927. <returns>True if the decoder can parse the specified content type</returns>
  928. </member>
  929. <member name="T:HttpServer.ContentType">
  930. <summary>
  931. Lists content type mime types.
  932. </summary>
  933. </member>
  934. <member name="F:HttpServer.ContentType.Text">
  935. <summary>
  936. text/plain
  937. </summary>
  938. </member>
  939. <member name="F:HttpServer.ContentType.Html">
  940. <summary>
  941. text/haml
  942. </summary>
  943. </member>
  944. <member name="F:HttpServer.ContentType.Javascript">
  945. <summary>
  946. content type for javascript documents = application/javascript
  947. </summary>
  948. <remarks>
  949. <para>
  950. RFC 4329 states that text/javascript have been superseeded by
  951. application/javascript. You might still want to check browser versions
  952. since older ones do not support application/javascript.
  953. </para>
  954. <para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para>
  955. </remarks>
  956. </member>
  957. <member name="F:HttpServer.ContentType.Xml">
  958. <summary>
  959. text/xml
  960. </summary>
  961. </member>
  962. <member name="T:HttpServer.ContentTypes">
  963. <summary>
  964. A list of content types
  965. </summary>
  966. </member>
  967. <member name="M:HttpServer.ContentTypes.#ctor(System.String)">
  968. <summary>
  969. </summary>
  970. <param name="types">Semicolon separated content types.</param>
  971. </member>
  972. <member name="M:HttpServer.ContentTypes.GetEnumerator">
  973. <summary>
  974. Returns an enumerator that iterates through a collection.
  975. </summary>
  976. <returns>
  977. An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
  978. </returns>
  979. </member>
  980. <member name="M:HttpServer.ContentTypes.Contains(System.String)">
  981. <summary>
  982. Searches for the specified type
  983. </summary>
  984. <param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param>
  985. <returns>true if type was found.</returns>
  986. </member>
  987. <member name="P:HttpServer.ContentTypes.First">
  988. <summary>
  989. Get this first content type.
  990. </summary>
  991. </member>
  992. <member name="P:HttpServer.ContentTypes.Item(System.String)">
  993. <summary>
  994. Fetch a content type
  995. </summary>
  996. <param name="type">Part of type ("xml" would return "application/xml")</param>
  997. <returns></returns>
  998. <remarks>All content types are in lower case.</remarks>
  999. </member>
  1000. <member name="T:HttpServer.HttpModules.HttpModule">
  1001. <summary>
  1002. A HttpModule can be used to serve Uri's. The module itself
  1003. decides if it should serve a Uri or not. In this way, you can
  1004. get a very flexible http application since you can let multiple modules
  1005. serve almost similar urls.
  1006. </summary>
  1007. <remarks>
  1008. Throw <see cref="T:HttpServer.Exceptions.UnauthorizedException"/> if you are using a <see cref="T:HttpServer.Authentication.AuthenticationModule"/> and want to prompt for user name/password.
  1009. </remarks>
  1010. </member>
  1011. <member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
  1012. <summary>
  1013. Method that process the url
  1014. </summary>
  1015. <param name="request">Information sent by the browser about the request</param>
  1016. <param name="response">Information that is being sent back to the client.</param>
  1017. <param name="session">Session used to </param>
  1018. <returns>true if this module handled the request.</returns>
  1019. </member>
  1020. <member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)">
  1021. <summary>
  1022. Set the log writer to use.
  1023. </summary>
  1024. <param name="writer">logwriter to use.</param>
  1025. </member>
  1026. <member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)">
  1027. <summary>
  1028. Log something.
  1029. </summary>
  1030. <param name="prio">importance of log message</param>
  1031. <param name="message">message</param>
  1032. </member>
  1033. <member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing">
  1034. <summary>
  1035. If true specifies that the module doesn't consume the processing of a request so that subsequent modules
  1036. can continue processing afterwards. Default is false.
  1037. </summary>
  1038. </member>
  1039. <member name="T:HttpServer.Helpers.WebHelper">
  1040. <summary>
  1041. Webhelper provides helpers for common tasks in HTML.
  1042. </summary>
  1043. </member>
  1044. <member name="F:HttpServer.Helpers.WebHelper.JSImplementation">
  1045. <summary>
  1046. Used to let the website use different javascript libraries.
  1047. Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
  1048. </summary>
  1049. </member>
  1050. <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])">
  1051. <summary>
  1052. Creates a link that invokes through ajax.
  1053. </summary>
  1054. <param name="url">url to fetch</param>
  1055. <param name="title">link title</param>
  1056. <param name="options">
  1057. optional options in format "key, value, key, value".
  1058. Javascript options starts with ':'.
  1059. </param>
  1060. <returns>a link tag</returns>
  1061. <example>
  1062. WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');");
  1063. </example>
  1064. </member>
  1065. <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])">
  1066. <summary>
  1067. Builds a link that updates an element with the fetched ajax content.
  1068. </summary>
  1069. <param name="url">Url to fetch content from</param>
  1070. <param name="title">link title</param>
  1071. <param name="targetId">html element to update with the results of the ajax request.</param>
  1072. <param name="options">optional options in format "key, value, key, value"</param>
  1073. <returns>A link tag.</returns>
  1074. </member>
  1075. <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])">
  1076. <summary>
  1077. A link that pop ups a Dialog (overlay div)
  1078. </summary>
  1079. <param name="url">url to contents of dialog</param>
  1080. <param name="title">link title</param>
  1081. <param name="htmlAttributes">name/value of html attributes.</param>
  1082. <returns>A "a"-tag that popups a dialog when clicked</returns>
  1083. <example>
  1084. WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
  1085. </example>
  1086. </member>
  1087. <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])">
  1088. <summary>
  1089. Create/Open a dialog box using ajax
  1090. </summary>
  1091. <param name="url"></param>
  1092. <param name="title"></param>
  1093. <param name="parameters"></param>
  1094. <returns></returns>
  1095. </member>
  1096. <member name="M:HttpServer.Helpers.WebHelper.CloseDialog">
  1097. <summary>
  1098. Close a javascript dialog window/div.
  1099. </summary>
  1100. <returns>javascript for closing a dialog.</returns>
  1101. <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/>
  1102. </member>
  1103. <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)">
  1104. <summary>
  1105. Create a &lt;form&gt; tag.
  1106. </summary>
  1107. <param name="name">name of form</param>
  1108. <param name="action">action to invoke on submit</param>
  1109. <param name="isAjax">form should be posted as ajax</param>
  1110. <returns>html code</returns>
  1111. <example>
  1112. WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
  1113. </example>
  1114. </member>
  1115. <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])">
  1116. <summary>
  1117. Create a link tag.
  1118. </summary>
  1119. <param name="url">url to go to</param>
  1120. <param name="title">link title (text that is displayed)</param>
  1121. <param name="htmlAttributes">html attributes, name, value, name, value</param>
  1122. <returns>html code</returns>
  1123. <example>
  1124. WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');");
  1125. </example>
  1126. </member>
  1127. <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])">
  1128. <summary>
  1129. Build a link
  1130. </summary>
  1131. <param name="url">url to go to.</param>
  1132. <param name="title">title of link (displayed text)</param>
  1133. <param name="htmlAttributes">extra html attributes.</param>
  1134. <returns>a complete link</returns>
  1135. </member>
  1136. <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])">
  1137. <summary>
  1138. Build a link
  1139. </summary>
  1140. <param name="url">url to go to.</param>
  1141. <param name="title">title of link (displayed text)</param>
  1142. <param name="htmlAttributes">extra html attributes.</param>
  1143. <returns>a complete link</returns>
  1144. <param name="options">more options</param>
  1145. </member>
  1146. <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
  1147. <summary>
  1148. Obsolete
  1149. </summary>
  1150. <param name="name">Obsolete</param>
  1151. <param name="collection">Obsolete</param>
  1152. <param name="getIdTitle">Obsolete</param>
  1153. <param name="selectedValue">Obsolete</param>
  1154. <param name="firstEmpty">Obsolete</param>
  1155. <returns>Obsolete</returns>
  1156. </member>
  1157. <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
  1158. <summary>
  1159. Obsolete
  1160. </summary>
  1161. <param name="name">Obsolete</param>
  1162. <param name="id">Obsolete</param>
  1163. <param name="collection">Obsolete</param>
  1164. <param name="getIdTitle">Obsolete</param>
  1165. <param name="selectedValue">Obsolete</param>
  1166. <param name="firstEmpty">Obsolete</param>
  1167. <returns>Obsolete</returns>
  1168. </member>
  1169. <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)">
  1170. <summary>
  1171. Render errors into a UL with class "errors"
  1172. </summary>
  1173. <param name="className">class used by UL-tag.</param>
  1174. <param name="theList">items to list</param>
  1175. <returns>an unordered html list.</returns>
  1176. </member>
  1177. <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)">
  1178. <summary>
  1179. Render errors into a UL with class "errors"
  1180. </summary>
  1181. <param name="className">class used by UL-tag.</param>
  1182. <param name="theList">items to list</param>
  1183. <returns>an unordered html list.</returns>
  1184. </member>
  1185. <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)">
  1186. <summary>
  1187. Render errors into a UL with class "errors"
  1188. </summary>
  1189. <param name="errors"></param>
  1190. <returns></returns>
  1191. </member>
  1192. <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])">
  1193. <summary>
  1194. Generates a list with html attributes.
  1195. </summary>
  1196. <param name="sb">StringBuilder that the options should be added to.</param>
  1197. <param name="firstOptions">attributes set by user.</param>
  1198. <param name="secondOptions">attributes set by any of the helper classes.</param>
  1199. </member>
  1200. <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])">
  1201. <summary>
  1202. Generates a list with html attributes.
  1203. </summary>
  1204. <param name="sb">StringBuilder that the options should be added to.</param>
  1205. <param name="options"></param>
  1206. </member>
  1207. <member name="T:HttpServer.Helpers.JavascriptHelperImplementation">
  1208. <summary>
  1209. Purpose of this class is to create a javascript toolkit independent javascript helper.
  1210. </summary>
  1211. </member>
  1212. <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)">
  1213. <summary>
  1214. Generates a list with JS options.
  1215. </summary>
  1216. <param name="sb">StringBuilder that the options should be added to.</param>
  1217. <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param>
  1218. <param name="startWithComma">true if we should start with a comma.</param>
  1219. </member>
  1220. <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])">
  1221. <summary>
  1222. Removes any javascript parameters from an array of parameters
  1223. </summary>
  1224. <param name="options">The array of parameters to remove javascript params from</param>
  1225. <returns>An array of html parameters</returns>
  1226. </member>
  1227. <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])">
  1228. <summary>
  1229. javascript action that should be added to the "onsubmit" event in the form tag.
  1230. </summary>
  1231. <returns></returns>
  1232. <remarks>All javascript option names should end with colon.</remarks>
  1233. <example>
  1234. <code>
  1235. JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
  1236. </code>
  1237. </example>
  1238. </member>
  1239. <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])">
  1240. <summary>
  1241. Requests a url through ajax
  1242. </summary>
  1243. <param name="url">url to fetch</param>
  1244. <param name="options">optional options in format "key, value, key, value", used in JS request object.</param>
  1245. <returns>a link tag</returns>
  1246. <remarks>All javascript option names should end with colon.</remarks>
  1247. <example>
  1248. <code>
  1249. JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
  1250. </code>
  1251. </example>
  1252. </member>
  1253. <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])">
  1254. <summary>
  1255. Ajax requests that updates an element with
  1256. the fetched content
  1257. </summary>
  1258. <param name="url">Url to fetch content from</param>
  1259. <param name="targetId">element to update</param>
  1260. <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param>
  1261. <returns>A link tag.</returns>
  1262. <remarks>All javascript option names should end with colon.</remarks>
  1263. <example>
  1264. <code>
  1265. JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');");
  1266. </code>
  1267. </example>
  1268. </member>
  1269. <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])">
  1270. <summary>
  1271. A link that pop ups a Dialog (overlay div)
  1272. </summary>
  1273. <param name="url">url to contents of dialog</param>
  1274. <param name="title">link title</param>
  1275. <returns>A "a"-tag that popups a dialog when clicked</returns>
  1276. <param name="htmlAttributes">name/value of html attributes</param>
  1277. <example>
  1278. WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
  1279. </example>
  1280. </member>
  1281. <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog">
  1282. <summary>
  1283. Close a javascript dialog window/div.
  1284. </summary>
  1285. <returns>javascript for closing a dialog.</returns>
  1286. <see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/>
  1287. </member>
  1288. <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])">
  1289. <summary>
  1290. Creates a new modal dialog window
  1291. </summary>
  1292. <param name="url">url to open in window.</param>
  1293. <param name="title">window title (may not be supported by all js implementations)</param>
  1294. <param name="options"></param>
  1295. <returns></returns>
  1296. </member>
  1297. <member name="T:HttpServer.IHttpContextHandler">
  1298. <summary>
  1299. Class that receives Requests from a <see cref="T:HttpServer.IHttpClientContext"/>.
  1300. </summary>
  1301. </member>
  1302. <member name="M:HttpServer.IHttpContextHandler.ClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)">
  1303. <summary>
  1304. Client have been disconnected.
  1305. </summary>
  1306. <param name="client">Client that was disconnected.</param>
  1307. <param name="error">Reason</param>
  1308. <see cref="T:HttpServer.IHttpClientContext"/>
  1309. </member>
  1310. <member name="M:HttpServer.IHttpContextHandler.RequestReceived(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
  1311. <summary>
  1312. Invoked when a client context have received a new HTTP request
  1313. </summary>
  1314. <param name="client">Client that received the request.</param>
  1315. <param name="request">Request that was received.</param>
  1316. <see cref="T:HttpServer.IHttpClientContext"/>
  1317. </member>
  1318. <member name="T:HttpServer.HttpHelper">
  1319. <summary>
  1320. Generic helper functions for HTTP
  1321. </summary>
  1322. </member>
  1323. <member name="F:HttpServer.HttpHelper.HTTP10">
  1324. <summary>
  1325. Version string for HTTP v1.0
  1326. </summary>
  1327. </member>
  1328. <member name="F:HttpServer.HttpHelper.HTTP11">
  1329. <summary>
  1330. Version string for HTTP v1.1
  1331. </summary>
  1332. </member>
  1333. <member name="F:HttpServer.HttpHelper.EmptyUri">
  1334. <summary>
  1335. An empty URI
  1336. </summary>
  1337. </member>
  1338. <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)">
  1339. <summary>
  1340. Parses a query string.
  1341. </summary>
  1342. <param name="queryString">Query string (URI encoded)</param>
  1343. <returns>A <see cref="T:HttpServer.HttpInput"/> object if successful; otherwise <see cref="F:HttpServer.HttpInput.Empty"/></returns>
  1344. <exception cref="T:System.ArgumentNullException"><c>queryString</c> is null.</exception>
  1345. <exception cref="T:System.FormatException">If string cannot be parsed.</exception>
  1346. </member>
  1347. <member name="T:HttpServer.FormDecoders.FormDecoderProvider">
  1348. <summary>
  1349. This provider is used to let us implement any type of form decoding we want without
  1350. having to rewrite anything else in the server.
  1351. </summary>
  1352. </member>
  1353. <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)">
  1354. <summary>
  1355. </summary>
  1356. <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param>
  1357. <param name="stream">Stream containing form data.</param>
  1358. <param name="encoding">Encoding used when decoding the stream</param>
  1359. <returns><see cref="F:HttpServer.HttpInput.Empty"/> if no parser was found.</returns>
  1360. <exception cref="T:System.ArgumentException">If stream is null or not readable.</exception>
  1361. <exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception>
  1362. </member>
  1363. <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)">
  1364. <summary>
  1365. Add a decoder.
  1366. </summary>
  1367. <param name="decoder"></param>
  1368. <exception cref="T:System.ArgumentNullException"></exception>
  1369. </member>
  1370. <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count">
  1371. <summary>
  1372. Number of added decoders.
  1373. </summary>
  1374. </member>
  1375. <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders">
  1376. <summary>
  1377. Use with care.
  1378. </summary>
  1379. </member>
  1380. <member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder">
  1381. <summary>
  1382. Decoder used for unknown content types.
  1383. </summary>
  1384. </member>
  1385. <member name="T:HttpServer.Sessions.MemorySession">
  1386. <summary>
  1387. A session stored in memory.
  1388. </summary>
  1389. </member>
  1390. <member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)">
  1391. <summary>
  1392. </summary>
  1393. <param name="id">A unique id used by the sessions store to identify the session</param>
  1394. </member>
  1395. <member name="M:HttpServer.Sessions.MemorySession.SetId(System.String)">
  1396. <summary>
  1397. Id
  1398. </summary>
  1399. <param name="id"></param>
  1400. </member>
  1401. <member name="M:HttpServer.Sessions.MemorySession.Clear">
  1402. <summary>
  1403. Remove everything from the session
  1404. </summary>
  1405. </member>
  1406. <member name="M:HttpServer.Sessions.MemorySession.Clear(System.Boolean)">
  1407. <summary>
  1408. Clears the specified expire.
  1409. </summary>
  1410. <param name="expires">True if the session is cleared due to expiration</param>
  1411. </member>
  1412. <member name="M:HttpServer.Sessions.MemorySession.Dispose">
  1413. <summary>
  1414. Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
  1415. </summary>
  1416. <filterpriority>2</filterpriority>
  1417. </member>
  1418. <member name="P:HttpServer.Sessions.MemorySession.Id">
  1419. <summary>
  1420. Session id
  1421. </summary>
  1422. </member>
  1423. <member name="P:HttpServer.Sessions.MemorySession.Item(System.String)">
  1424. <summary>
  1425. Should
  1426. </summary>
  1427. <param name="name">Name of the session variable</param>
  1428. <returns>null if it's not set</returns>
  1429. </member>
  1430. <member name="P:HttpServer.Sessions.MemorySession.Accessed">
  1431. <summary>
  1432. when the session was last accessed.
  1433. </summary>
  1434. <remarks>
  1435. Used to determine when the session should be removed.
  1436. </remarks>
  1437. </member>
  1438. <member name="P:HttpServer.Sessions.MemorySession.Count">
  1439. <summary>
  1440. Number of values in the session
  1441. </summary>
  1442. </member>
  1443. <member name="P:HttpServer.Sessions.MemorySession.Changed">
  1444. <summary>
  1445. Flag to indicate that the session have been changed
  1446. and should be saved into the session store.
  1447. </summary>
  1448. </member>
  1449. <member name="E:HttpServer.Sessions.MemorySession.BeforeClear">
  1450. <summary>
  1451. Event triggered upon clearing the session
  1452. </summary>
  1453. </member>
  1454. <member name="T:HttpServer.FormDecoders.XmlDecoder">
  1455. <summary>
  1456. This decoder converts XML documents to form items.
  1457. Each element becomes a subitem in the form, and each attribute becomes an item.
  1458. </summary>
  1459. <example>
  1460. // xml: <hello id="1">something<world id="2">data</world></hello>
  1461. // result:
  1462. // form["hello"].Value = "something"
  1463. // form["hello"]["id"].Value = 1
  1464. // form["hello"]["world]["id"].Value = 1
  1465. // form["hello"]["world"].Value = "data"
  1466. </example>
  1467. <remarks>
  1468. The original xml document is stored in form["__xml__"].Value.
  1469. </remarks>
  1470. </member>
  1471. <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
  1472. <summary>
  1473. </summary>
  1474. <param name="stream">Stream containing the content</param>
  1475. <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
  1476. <param name="encoding">Stream encoding</param>
  1477. Note: contentType and encoding are not used?
  1478. <returns>A http form, or null if content could not be parsed.</returns>
  1479. <exception cref="T:System.IO.InvalidDataException"></exception>
  1480. </member>
  1481. <member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)">
  1482. <summary>
  1483. Recursive function that will go through an xml element and store it's content
  1484. to the form item.
  1485. </summary>
  1486. <param name="item">(parent) Item in form that content should be added to.</param>
  1487. <param name="node">Node that should be parsed.</param>
  1488. </member>
  1489. <member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)">
  1490. <summary>
  1491. Checks if the decoder can handle the mime type
  1492. </summary>
  1493. <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
  1494. <returns>True if the decoder can parse the specified content type</returns>
  1495. </member>
  1496. <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine">
  1497. <summary>
  1498. </summary>
  1499. <returns></returns>
  1500. <exception cref="T:System.ArgumentOutOfRangeException"></exception>
  1501. <exception cref="T:System.ObjectDisposedException"></exception>
  1502. </member>
  1503. <member name="T:HttpServer.FormDecoders.HttpMultipart.Element">
  1504. <summary>Represents a field in a multipart form</summary>
  1505. </member>
  1506. <member name="T:HttpServer.Exceptions.InternalServerException">
  1507. <summary>
  1508. The server encountered an unexpected condition which prevented it from fulfilling the request.
  1509. </summary>
  1510. </member>
  1511. <member name="M:HttpServer.Exceptions.InternalServerException.#ctor">
  1512. <summary>
  1513. Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
  1514. </summary>
  1515. </member>
  1516. <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)">
  1517. <summary>
  1518. Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
  1519. </summary>
  1520. <param name="message">error message.</param>
  1521. </member>
  1522. <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)">
  1523. <summary>
  1524. Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
  1525. </summary>
  1526. <param name="message">error message.</param>
  1527. <param name="inner">inner exception.</param>
  1528. </member>
  1529. <member name="T:HttpServer.RequestParserState">
  1530. <summary>
  1531. Current state in the parsing.
  1532. </summary>
  1533. </member>
  1534. <member name="F:HttpServer.RequestParserState.FirstLine">
  1535. <summary>
  1536. Should parse the request line
  1537. </summary>
  1538. </member>
  1539. <member name="F:HttpServer.RequestParserState.HeaderName">
  1540. <summary>
  1541. Searching for a complete header name
  1542. </summary>
  1543. </member>
  1544. <member name="F:HttpServer.RequestParserState.AfterName">
  1545. <summary>
  1546. Searching for colon after header name (ignoring white spaces)
  1547. </summary>
  1548. </member>
  1549. <member name="F:HttpServer.RequestParserState.Between">
  1550. <summary>
  1551. Searching for start of header value (ignoring white spaces)
  1552. </summary>
  1553. </member>
  1554. <member name="F:HttpServer.RequestParserState.HeaderValue">
  1555. <summary>
  1556. Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces)
  1557. </summary>
  1558. </member>
  1559. <member name="F:HttpServer.RequestParserState.Body">
  1560. <summary>
  1561. Adding bytes to body
  1562. </summary>
  1563. </member>
  1564. <member name="T:HttpServer.HttpModules.ReverseProxyModule">
  1565. <summary>
  1566. A reverse proxy are used to act as a bridge between local (protected/hidden) websites
  1567. and public clients.
  1568. A typical usage is to allow web servers on non standard ports to still be available
  1569. to the public clients, or allow web servers on private ips to be available.
  1570. </summary>
  1571. </member>
  1572. <member name="M:HttpServer.HttpModules.ReverseProxyModule.#ctor(System.String,System.String)">
  1573. <summary>
  1574. </summary>
  1575. <param name="source">Base url requested from browser</param>
  1576. <param name="destination">Base url on private web server</param>
  1577. <example>
  1578. // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas
  1579. _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/");
  1580. </example>
  1581. </member>
  1582. <member name="M:HttpServer.HttpModules.ReverseProxyModule.CanHandle(System.Uri)">
  1583. <summary>
  1584. Method that determines if an url should be handled or not by the module
  1585. </summary>
  1586. <param name="uri">Url requested by the client.</param>
  1587. <returns>true if module should handle the url.</returns>
  1588. </member>
  1589. <member name="M:HttpServer.HttpModules.ReverseProxyModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
  1590. <summary>
  1591. Method that process the url
  1592. </summary>
  1593. <param name="request">Information sent by the browser about the request</param>
  1594. <param name="response">Information that is being sent back to the client.</param>
  1595. <param name="session">Session used to </param>
  1596. </member>
  1597. <member name="T:HttpServer.Method">
  1598. <summary>
  1599. Contains all HTTP Methods (according to the HTTP 1.1 specification)
  1600. <para>
  1601. See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
  1602. </para>
  1603. </summary>
  1604. </member>
  1605. <member name="F:HttpServer.Method.Delete">
  1606. <summary>
  1607. The DELETE method requests that the origin server delete the resource identified by the Request-URI.
  1608. </summary>
  1609. <remarks>
  1610. <para>
  1611. This method MAY be overridden by human intervention (or other means) on the origin server.
  1612. The client cannot be guaranteed that the operation has been carried out, even if the status code
  1613. returned from the origin server indicates that the action has been completed successfully.
  1614. </para>
  1615. <para>
  1616. However, the server SHOULD NOT indicate success unless, at the time the response is given,
  1617. it intends to delete the resource or move it to an inaccessible location.
  1618. </para>
  1619. <para>
  1620. A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
  1621. 202 (Accepted) if the action has not yet been enacted,
  1622. or 204 (No Content) if the action has been enacted but the response does not include an entity.
  1623. </para>
  1624. <para>
  1625. If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
  1626. those entries SHOULD be treated as stale. Responses to this method are not cacheable.
  1627. </para>
  1628. </remarks>
  1629. </member>
  1630. <member name="F:HttpServer.Method.Get">
  1631. <summary>
  1632. The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
  1633. </summary>
  1634. <remarks>
  1635. <para>
  1636. If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
  1637. entity in the response and not the source text of the process, unless that text happens to be the output of the process.
  1638. </para>
  1639. <para>
  1640. The semantics of the GET method change to a "conditional GET" if the request message includes an
  1641. If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
  1642. A conditional GET method requests that the entity be transferred only under the circumstances described
  1643. by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
  1644. usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
  1645. data already held by the client.
  1646. </para>
  1647. </remarks>
  1648. </member>
  1649. <member name="F:HttpServer.Method.Header">
  1650. <summary>
  1651. The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
  1652. </summary>
  1653. <remarks>
  1654. The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
  1655. information sent in response to a GET request. This method can be used for obtaining meta information about
  1656. the entity implied by the request without transferring the entity-body itself.
  1657. This method is often used for testing hypertext links for validity, accessibility, and recent modification.
  1658. </remarks>
  1659. </member>
  1660. <member name="F:HttpServer.Method.Options">
  1661. <summary>
  1662. <para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para>
  1663. </summary>
  1664. <remarks>
  1665. <para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para>
  1666. </remarks>
  1667. </member>
  1668. <member name="F:HttpServer.Method.Post">
  1669. <summary>
  1670. The POST method is used to request that the origin server accept the entity enclosed
  1671. in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
  1672. </summary>
  1673. <remarks>
  1674. POST is designed to allow a uniform method to cover the following functions:
  1675. <list type="bullet">
  1676. <item>
  1677. Annotation of existing resources;
  1678. </item><item>
  1679. Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
  1680. </item><item>
  1681. Providing a block of data, such as the result of submitting a form, to a data-handling process;
  1682. </item><item>
  1683. Extending a database through an append operation.
  1684. </item>
  1685. </list>
  1686. <para>
  1687. If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
  1688. contain an entity which describes the status of the request and refers to the new resource, and a
  1689. Location header (see section 14.30).
  1690. </para>
  1691. <para>
  1692. The action performed by the POST method might not result in a resource that can be identified by a URI.
  1693. In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
  1694. whether or not the response includes an entity that describes the result.
  1695. </para><para>
  1696. Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
  1697. or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
  1698. to retrieve a cacheable resource.
  1699. </para>
  1700. </remarks>
  1701. </member>
  1702. <member name="F:HttpServer.Method.Put">
  1703. <summary>
  1704. The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
  1705. </summary>
  1706. <remarks>
  1707. <list type="bullet">
  1708. <item>
  1709. If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
  1710. modified version of the one residing on the origin server.
  1711. </item><item>
  1712. If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
  1713. resource by the requesting user agent, the origin server can create the resource with that URI.
  1714. </item><item>
  1715. If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
  1716. </item><item>
  1717. If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
  1718. indicate successful completion of the request.
  1719. </item><item>
  1720. If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
  1721. given that reflects the nature of the problem.
  1722. </item>
  1723. </list>
  1724. <para>
  1725. The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
  1726. understand or implement and MUST return a 501 (Not Implemented) response in such cases.
  1727. </para>
  1728. </remarks>
  1729. </member>
  1730. <member name="F:HttpServer.Method.Trace">
  1731. <summary>
  1732. The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
  1733. </summary>
  1734. </member>
  1735. <member name="T:HttpServer.Methods">
  1736. <summary>
  1737. Contains all HTTP Methods (according to the HTTP 1.1 specification)
  1738. <para>
  1739. See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
  1740. </para>
  1741. </summary>
  1742. </member>
  1743. <member name="F:HttpServer.Methods.Delete">
  1744. <summary>
  1745. The DELETE method requests that the origin server delete the resource identified by the Request-URI.
  1746. </summary>
  1747. <remarks>
  1748. <para>
  1749. This method MAY be overridden by human intervention (or other means) on the origin server.
  1750. The client cannot be guaranteed that the operation has been carried out, even if the status code
  1751. returned from the origin server indicates that the action has been completed successfully.
  1752. </para>
  1753. <para>
  1754. However, the server SHOULD NOT indicate success unless, at the time the response is given,
  1755. it intends to delete the resource or move it to an inaccessible location.
  1756. </para>
  1757. <para>
  1758. A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
  1759. 202 (Accepted) if the action has not yet been enacted,
  1760. or 204 (No Content) if the action has been enacted but the response does not include an entity.
  1761. </para>
  1762. <para>
  1763. If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
  1764. those entries SHOULD be treated as stale. Responses to this method are not cacheable.
  1765. </para>
  1766. </remarks>
  1767. </member>
  1768. <member name="F:HttpServer.Methods.Get">
  1769. <summary>
  1770. The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
  1771. </summary>
  1772. <remarks>
  1773. <para>
  1774. If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
  1775. entity in the response and not the source text of the process, unless that text happens to be the output of the process.
  1776. </para>
  1777. <para>
  1778. The semantics of the GET method change to a "conditional GET" if the request message includes an
  1779. If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
  1780. A conditional GET method requests that the entity be transferred only under the circumstances described
  1781. by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
  1782. usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
  1783. data already held by the client.
  1784. </para>
  1785. </remarks>
  1786. </member>
  1787. <member name="F:HttpServer.Methods.Header">
  1788. <summary>
  1789. The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
  1790. </summary>
  1791. <remarks>
  1792. The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
  1793. information sent in response to a GET request. This method can be used for obtaining meta information about
  1794. the entity implied by the request without transferring the entity-body itself.
  1795. This method is often used for testing hypertext links for validity, accessibility, and recent modification.
  1796. </remarks>
  1797. </member>
  1798. <member name="F:HttpServer.Methods.Options">
  1799. <summary>
  1800. <para>The OPTIONS method represents a request for information about the communication options available on the request/response chain identified by the Request-URI.</para>
  1801. </summary>
  1802. <remarks>
  1803. <para>This method allows the client to determine the options and/or requirements associated with a resource, or the capabilities of a server, without implying a resource action or initiating a resource retrieval.</para>
  1804. </remarks>
  1805. </member>
  1806. <member name="F:HttpServer.Methods.Post">
  1807. <summary>
  1808. The POST method is used to request that the origin server accept the entity enclosed
  1809. in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
  1810. </summary>
  1811. <remarks>
  1812. POST is designed to allow a uniform method to cover the following functions:
  1813. <list type="bullet">
  1814. <item>
  1815. Annotation of existing resources;
  1816. </item><item>
  1817. Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
  1818. </item><item>
  1819. Providing a block of data, such as the result of submitting a form, to a data-handling process;
  1820. </item><item>
  1821. Extending a database through an append operation.
  1822. </item>
  1823. </list>
  1824. <para>
  1825. If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
  1826. contain an entity which describes the status of the request and refers to the new resource, and a
  1827. Location header (see section 14.30).
  1828. </para>
  1829. <para>
  1830. The action performed by the POST method might not result in a resource that can be identified by a URI.
  1831. In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
  1832. whether or not the response includes an entity that describes the result.
  1833. </para><para>
  1834. Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
  1835. or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
  1836. to retrieve a cacheable resource.
  1837. </para>
  1838. </remarks>
  1839. </member>
  1840. <member name="F:HttpServer.Methods.Put">
  1841. <summary>
  1842. The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
  1843. </summary>
  1844. <remarks>
  1845. <list type="bullet">
  1846. <item>
  1847. If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
  1848. modified version of the one residing on the origin server.
  1849. </item><item>
  1850. If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
  1851. resource by the requesting user agent, the origin server can create the resource with that URI.
  1852. </item><item>
  1853. If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
  1854. </item><item>
  1855. If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
  1856. indicate successful completion of the request.
  1857. </item><item>
  1858. If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
  1859. given that reflects the nature of the problem.
  1860. </item>
  1861. </list>
  1862. <para>
  1863. The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
  1864. understand or implement and MUST return a 501 (Not Implemented) response in such cases.
  1865. </para>
  1866. </remarks>
  1867. </member>
  1868. <member name="F:HttpServer.Methods.Trace">
  1869. <summary>
  1870. The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
  1871. </summary>
  1872. </member>
  1873. <member name="T:HttpServer.HttpListener">
  1874. <summary>
  1875. New implementation of the HTTP listener.
  1876. </summary>
  1877. <remarks>
  1878. Use the <c>Create</c> methods to create a default listener.
  1879. </remarks>
  1880. </member>
  1881. <member name="T:HttpServer.HttpListenerBase">
  1882. <summary>
  1883. Contains a listener that doesn't do anything with the connections.
  1884. </summary>
  1885. </member>
  1886. <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)">
  1887. <summary>
  1888. Listen for regular HTTP connections
  1889. </summary>
  1890. <param name="address">IP Address to accept connections on</param>
  1891. <param name="port">TCP Port to listen on, default HTTP port is 80.</param>
  1892. <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
  1893. <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
  1894. <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
  1895. </member>
  1896. <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)">
  1897. <summary>
  1898. Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class.
  1899. </summary>
  1900. <param name="address">IP Address to accept connections on</param>
  1901. <param name="port">TCP Port to listen on, default HTTPS port is 443</param>
  1902. <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
  1903. <param name="certificate">Certificate to use</param>
  1904. </member>
  1905. <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
  1906. <summary>
  1907. Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class.
  1908. </summary>
  1909. <param name="address">IP Address to accept connections on</param>
  1910. <param name="port">TCP Port to listen on, default HTTPS port is 443</param>
  1911. <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
  1912. <param name="certificate">Certificate to use</param>
  1913. <param name="protocol">which HTTPS protocol to use, default is TLS.</param>
  1914. </member>
  1915. <member name="M:HttpServer.HttpListenerBase.OnAccept(System.IAsyncResult)">
  1916. <exception cref="T:System.Exception"><c>Exception</c>.</exception>
  1917. </member>
  1918. <member name="M:HttpServer.HttpListenerBase.RetryBeginAccept">
  1919. <summary>
  1920. Will try to accept connections one more time.
  1921. </summary>
  1922. <exception cref="T:System.Exception">If any exceptions is thrown.</exception>
  1923. </member>
  1924. <member name="M:HttpServer.HttpListenerBase.OnAcceptingSocket(System.Net.Sockets.Socket)">
  1925. <summary>
  1926. Can be used to create filtering of new connections.
  1927. </summary>
  1928. <param name="socket">Accepted socket</param>
  1929. <returns>true if connection can be accepted; otherwise false.</returns>
  1930. </member>
  1931. <member name="M:HttpServer.HttpListenerBase.Start(System.Int32)">
  1932. <summary>
  1933. Start listen for new connections
  1934. </summary>
  1935. <param name="backlog">Number of connections that can stand in a queue to be accepted.</param>
  1936. <exception cref="T:System.InvalidOperationException">Listener have already been started.</exception>
  1937. </member>
  1938. <member name="M:HttpServer.HttpListenerBase.Stop">
  1939. <summary>
  1940. Stop the listener
  1941. </summary>
  1942. <exception cref="T:System.Net.Sockets.SocketException"></exception>
  1943. </member>
  1944. <member name="P:HttpServer.HttpListenerBase.LogWriter">
  1945. <summary>
  1946. Gives you a change to receive log entries for all internals of the HTTP library.
  1947. </summary>
  1948. <remarks>
  1949. You may not switch log writer after starting the listener.
  1950. </remarks>
  1951. </member>
  1952. <member name="P:HttpServer.HttpListenerBase.UseTraceLogs">
  1953. <summary>
  1954. True if we should turn on trace logs.
  1955. </summary>
  1956. </member>
  1957. <member name="E:HttpServer.HttpListenerBase.ExceptionThrown">
  1958. <summary>
  1959. Catch exceptions not handled by the listener.
  1960. </summary>
  1961. <remarks>
  1962. Exceptions will be thrown during debug mode if this event is not used,
  1963. exceptions will be printed to console and suppressed during release mode.
  1964. </remarks>
  1965. </member>
  1966. <member name="E:HttpServer.HttpListenerBase.RequestReceived">
  1967. <summary>
  1968. A request have been received from a <see cref="T:HttpServer.IHttpClientContext"/>.
  1969. </summary>
  1970. </member>
  1971. <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)">
  1972. <summary>
  1973. Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
  1974. </summary>
  1975. <param name="address">IP Address to accept connections on</param>
  1976. <param name="port">TCP Port to listen on, default HTTP port is 80.</param>
  1977. <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
  1978. <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
  1979. <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
  1980. </member>
  1981. <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)">
  1982. <summary>
  1983. Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
  1984. </summary>
  1985. <param name="address">The address.</param>
  1986. <param name="port">The port.</param>
  1987. <param name="factory">The factory.</param>
  1988. <param name="certificate">The certificate.</param>
  1989. </member>
  1990. <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
  1991. <summary>
  1992. Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
  1993. </summary>
  1994. <param name="address">The address.</param>
  1995. <param name="port">The port.</param>
  1996. <param name="factory">The factory.</param>
  1997. <param name="certificate">The certificate.</param>
  1998. <param name="protocol">The protocol.</param>
  1999. </member>
  2000. <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32)">
  2001. <summary>
  2002. Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
  2003. </summary>
  2004. <param name="address">Address that the listener should accept connections on.</param>
  2005. <param name="port">Port that listener should accept connections on.</param>
  2006. <returns>Created HTTP listener.</returns>
  2007. </member>
  2008. <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
  2009. <summary>
  2010. Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
  2011. </summary>
  2012. <param name="address">Address that the listener should accept connections on.</param>
  2013. <param name="port">Port that listener should accept connections on.</param>
  2014. <param name="certificate">Certificate to use</param>
  2015. <returns>Created HTTP listener.</returns>
  2016. </member>
  2017. <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
  2018. <summary>
  2019. Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
  2020. </summary>
  2021. <param name="address">Address that the listener should accept connections on.</param>
  2022. <param name="port">Port that listener should accept connections on.</param>
  2023. <param name="certificate">Certificate to use</param>
  2024. <param name="protocol">which HTTPS protocol to use, default is TLS.</param>
  2025. <returns>Created HTTP listener.</returns>
  2026. </member>
  2027. <member name="M:HttpServer.HttpListener.OnAcceptingSocket(System.Net.Sockets.Socket)">
  2028. <summary>
  2029. Can be used to create filtering of new connections.
  2030. </summary>
  2031. <param name="socket">Accepted socket</param>
  2032. <returns>
  2033. true if connection can be accepted; otherwise false.
  2034. </returns>
  2035. </member>
  2036. <member name="E:HttpServer.HttpListener.Accepted">
  2037. <summary>
  2038. A client have been accepted, but not handled, by the listener.
  2039. </summary>
  2040. </member>
  2041. <member name="T:HttpServer.Parser.HeaderEventArgs">
  2042. <summary>
  2043. Event arguments used when a new header have been parsed.
  2044. </summary>
  2045. </member>
  2046. <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor(System.String,System.String)">
  2047. <summary>
  2048. Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class.
  2049. </summary>
  2050. <param name="name">Name of header.</param>
  2051. <param name="value">Header value.</param>
  2052. </member>
  2053. <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor">
  2054. <summary>
  2055. Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class.
  2056. </summary>
  2057. </member>
  2058. <member name="P:HttpServer.Parser.HeaderEventArgs.Name">
  2059. <summary>
  2060. Gets or sets header name.
  2061. </summary>
  2062. </member>
  2063. <member name="P:HttpServer.Parser.HeaderEventArgs.Value">
  2064. <summary>
  2065. Gets or sets header value.
  2066. </summary>
  2067. </member>
  2068. <member name="T:HttpServer.LogPrio">
  2069. <summary>
  2070. Priority for log entries
  2071. </summary>
  2072. <seealso cref="T:HttpServer.ILogWriter"/>
  2073. </member>
  2074. <member name="F:HttpServer.LogPrio.Trace">
  2075. <summary>
  2076. Very detailed logs to be able to follow the flow of the program.
  2077. </summary>
  2078. </member>
  2079. <member name="F:HttpServer.LogPrio.Debug">
  2080. <summary>
  2081. Logs to help debug errors in the application
  2082. </summary>
  2083. </member>
  2084. <member name="F:HttpServer.LogPrio.Info">
  2085. <summary>
  2086. Information to be able to keep track of state changes etc.
  2087. </summary>
  2088. </member>
  2089. <member name="F:HttpServer.LogPrio.Warning">
  2090. <summary>
  2091. Something did not go as we expected, but it's no problem.
  2092. </summary>
  2093. </member>
  2094. <member name="F:HttpServer.LogPrio.Error">
  2095. <summary>
  2096. Something that should not fail failed, but we can still keep
  2097. on going.
  2098. </summary>
  2099. </member>
  2100. <member name="F:HttpServer.LogPrio.Fatal">
  2101. <summary>
  2102. Something failed, and we cannot handle it properly.
  2103. </summary>
  2104. </member>
  2105. <member name="T:HttpServer.ILogWriter">
  2106. <summary>
  2107. Interface used to write to log files.
  2108. </summary>
  2109. </member>
  2110. <member name="M:HttpServer.ILogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
  2111. <summary>
  2112. Write an entry to the log file.
  2113. </summary>
  2114. <param name="source">object that is writing to the log</param>
  2115. <param name="priority">importance of the log message</param>
  2116. <param name="message">the message</param>
  2117. </member>
  2118. <member name="T:HttpServer.ConsoleLogWriter">
  2119. <summary>
  2120. This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode)
  2121. </summary>
  2122. <seealso cref="T:HttpServer.ILogWriter"/>
  2123. </member>
  2124. <member name="F:HttpServer.ConsoleLogWriter.Instance">
  2125. <summary>
  2126. The actual instance of this class.
  2127. </summary>
  2128. </member>
  2129. <member name="M:HttpServer.ConsoleLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
  2130. <summary>
  2131. Logwriters the specified source.
  2132. </summary>
  2133. <param name="source">object that wrote the logentry.</param>
  2134. <param name="prio">Importance of the log message</param>
  2135. <param name="message">The message.</param>
  2136. </member>
  2137. <member name="M:HttpServer.ConsoleLogWriter.GetColor(HttpServer.LogPrio)">
  2138. <summary>
  2139. Get color for the specified logprio
  2140. </summary>
  2141. <param name="prio">prio for the log entry</param>
  2142. <returns>A <see cref="T:System.ConsoleColor"/> for the prio</returns>
  2143. </member>
  2144. <member name="T:HttpServer.NullLogWriter">
  2145. <summary>
  2146. Default log writer, writes everything to null (nowhere).
  2147. </summary>
  2148. <seealso cref="T:HttpServer.ILogWriter"/>
  2149. </member>
  2150. <member name="F:HttpServer.NullLogWriter.Instance">
  2151. <summary>
  2152. The logging instance.
  2153. </summary>
  2154. </member>
  2155. <member name="M:HttpServer.NullLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
  2156. <summary>
  2157. Writes everything to null
  2158. </summary>
  2159. <param name="source">object that wrote the log entry.</param>
  2160. <param name="prio">Importance of the log message</param>
  2161. <param name="message">The message.</param>
  2162. </member>
  2163. <member name="T:HttpServer.Helpers.JSHelper">
  2164. <summary>
  2165. Will contain helper functions for javascript.
  2166. </summary>
  2167. </member>
  2168. <member name="M:HttpServer.Helpers.JSHelper.AjaxRequest(System.String,System.String[])">
  2169. <summary>
  2170. Requests a url through ajax
  2171. </summary>
  2172. <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
  2173. <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
  2174. <returns>a link tag</returns>
  2175. <remarks>onclick attribute is used by this method.</remarks>
  2176. <example>
  2177. <code>
  2178. // plain text
  2179. JSHelper.AjaxRequest("'/user/show/1'");
  2180. // ajax request using this.href
  2181. string link = "&lt;a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/&lt;call user&lt;/a&gt;";
  2182. </code>
  2183. </example>
  2184. </member>
  2185. <member name="M:HttpServer.Helpers.JSHelper.AjaxUpdater(System.String,System.String,System.String[])">
  2186. <summary>
  2187. Ajax requests that updates an element with
  2188. the fetched content
  2189. </summary>
  2190. <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
  2191. <param name="targetId">element to update</param>
  2192. <param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
  2193. <returns>A link tag.</returns>
  2194. <example>
  2195. <code>
  2196. JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
  2197. </code>
  2198. </example>
  2199. </member>
  2200. <member name="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])">
  2201. <summary>
  2202. Opens contents in a dialog window.
  2203. </summary>
  2204. <param name="url">url to contents of dialog</param>
  2205. <param name="title">link title</param>
  2206. <param name="options">name, value, name, value, all parameter names should end with colon.</param>
  2207. </member>
  2208. <member name="M:HttpServer.Helpers.JSHelper.CloseDialog">
  2209. <summary>
  2210. Close a javascript dialog window/div.
  2211. </summary>
  2212. <returns>javascript for closing a dialog.</returns>
  2213. <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])"/>
  2214. </member>
  2215. <member name="T:HttpServer.Helpers.GetIdTitle">
  2216. <summary>
  2217. Delegate used by <see cref="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)"/> to populate select options.
  2218. </summary>
  2219. <param name="obj">current object (for instance a User).</param>
  2220. <param name="id">Text that should be displayed in the value part of a &lt;optiongt;-tag.</param>
  2221. <param name="title">Text shown in the select list.</param>
  2222. <example>
  2223. // Class that is going to be used in a SELECT-tag.
  2224. public class User
  2225. {
  2226. private readonly string _realName;
  2227. private readonly int _id;
  2228. public User(int id, string realName)
  2229. {
  2230. _id = id;
  2231. _realName = realName;
  2232. }
  2233. public string RealName
  2234. {
  2235. get { return _realName; }
  2236. }
  2237. public int Id
  2238. {
  2239. get { return _id; }
  2240. }
  2241. }
  2242. // Using an inline delegate to generate the select list
  2243. public void UserInlineDelegate()
  2244. {
  2245. List&lt;User&gt; items = new List&lt;User&gt;();
  2246. items.Add(new User(1, "adam"));
  2247. items.Add(new User(2, "bertial"));
  2248. items.Add(new User(3, "david"));
  2249. string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
  2250. {
  2251. User user = (User)o;
  2252. id = user.Id;
  2253. value = user.RealName;
  2254. }, 2, true);
  2255. }
  2256. // Using an method as delegate to generate the select list.
  2257. public void UseExternalDelegate()
  2258. {
  2259. List&lt;User&gt; items = new List&lt;User&gt;();
  2260. items.Add(new User(1, "adam"));
  2261. items.Add(new User(2, "bertial"));
  2262. items.Add(new User(3, "david"));
  2263. string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
  2264. }
  2265. // delegate returning id and title
  2266. public static void UserOptions(object o, out object id, out object title)
  2267. {
  2268. User user = (User)o;
  2269. id = user.Id;
  2270. value = user.RealName;
  2271. } /// </example>
  2272. </member>
  2273. <member name="T:HttpServer.Parser.BodyEventArgs">
  2274. <summary>
  2275. Arguments used when more body bytes have come.
  2276. </summary>
  2277. </member>
  2278. <member name="M:HttpServer.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)">
  2279. <summary>
  2280. Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class.
  2281. </summary>
  2282. <param name="buffer">buffer that contains the received bytes.</param>
  2283. <param name="offset">offset in buffer where to start processing.</param>
  2284. <param name="count">number of bytes from <paramref name="offset"/> that should be parsed.</param>
  2285. </member>
  2286. <member name="M:HttpServer.Parser.BodyEventArgs.#ctor">
  2287. <summary>
  2288. Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class.
  2289. </summary>
  2290. </member>
  2291. <member name="P:HttpServer.Parser.BodyEventArgs.Buffer">
  2292. <summary>
  2293. Gets or sets buffer that contains the received bytes.
  2294. </summary>
  2295. </member>
  2296. <member name="P:HttpServer.Parser.BodyEventArgs.Count">
  2297. <summary>
  2298. Gets or sets number of bytes from <see cref="P:HttpServer.Parser.BodyEventArgs.Offset"/> that should be parsed.
  2299. </summary>
  2300. </member>
  2301. <member name="P:HttpServer.Parser.BodyEventArgs.Offset">
  2302. <summary>
  2303. Gets or sets offset in buffer where to start processing.
  2304. </summary>
  2305. </member>
  2306. <member name="T:HttpServer.IHttpResponse">
  2307. <summary>
  2308. Response that is sent back to the web browser / client.
  2309. A response can be sent if different ways. The easiest one is
  2310. to just fill the Body stream with content, everything else
  2311. will then be taken care of by the framework. The default content-type
  2312. is text/html, you should change it if you send anything else.
  2313. The second and slighty more complex way is to send the response
  2314. as parts. Start with sending the header using the SendHeaders method and
  2315. then you can send the body using SendBody method, but do not forget
  2316. to set ContentType and ContentLength before doing so.
  2317. </summary>
  2318. <example>
  2319. public void MyHandler(IHttpRequest request, IHttpResponse response)
  2320. {
  2321. }
  2322. </example>
  2323. </member>
  2324. <member name="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)">
  2325. <summary>
  2326. Add another header to the document.
  2327. </summary>
  2328. <param name="name">Name of the header, case sensitive, use lower cases.</param>
  2329. <param name="value">Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n</param>
  2330. <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
  2331. <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
  2332. <remarks>Adding any header will override the default ones and those specified by properties.</remarks>
  2333. </member>
  2334. <member name="M:HttpServer.IHttpResponse.Send">
  2335. <summary>
  2336. Send headers and body to the browser.
  2337. </summary>
  2338. <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
  2339. </member>
  2340. <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
  2341. <summary>
  2342. Make sure that you have specified ContentLength and sent the headers first.
  2343. </summary>
  2344. <param name="buffer"></param>
  2345. <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
  2346. <see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
  2347. <param name="offset">offest of first byte to send</param>
  2348. <param name="count">number of bytes to send.</param>
  2349. <seealso cref="M:HttpServer.IHttpResponse.Send"/>
  2350. <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
  2351. <remarks>This method can be used if you want to send body contents without caching them first. This
  2352. is recommended for larger files to keep the memory usage low.</remarks>
  2353. </member>
  2354. <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[])">
  2355. <summary>
  2356. Make sure that you have specified ContentLength and sent the headers first.
  2357. </summary>
  2358. <param name="buffer"></param>
  2359. <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
  2360. <see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
  2361. <seealso cref="M:HttpServer.IHttpResponse.Send"/>
  2362. <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
  2363. <remarks>This method can be used if you want to send body contents without caching them first. This
  2364. is recommended for larger files to keep the memory usage low.</remarks>
  2365. </member>
  2366. <member name="M:HttpServer.IHttpResponse.SendHeaders">
  2367. <summary>
  2368. Send headers to the client.
  2369. </summary>
  2370. <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
  2371. <seealso cref="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"/>
  2372. <seealso cref="M:HttpServer.IHttpResponse.Send"/>
  2373. <seealso cref="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"/>
  2374. </member>
  2375. <member name="M:HttpServer.IHttpResponse.Redirect(System.Uri)">
  2376. <summary>
  2377. Redirect client to somewhere else using the 302 status code.
  2378. </summary>
  2379. <param name="uri">Destination of the redirect</param>
  2380. <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
  2381. <remarks>You can not do anything more with the request when a redirect have been done. This should be your last
  2382. action.</remarks>
  2383. </member>
  2384. <member name="M:HttpServer.IHttpResponse.Redirect(System.String)">
  2385. <summary>
  2386. redirect to somewhere
  2387. </summary>
  2388. <param name="url">where the redirect should go</param>
  2389. <remarks>
  2390. No body are allowed when doing redirects.
  2391. </remarks>
  2392. </member>
  2393. <member name="P:HttpServer.IHttpResponse.Body">
  2394. <summary>
  2395. The body stream is used to cache the body contents
  2396. before sending everything to the client. It's the simplest
  2397. way to serve documents.
  2398. </summary>
  2399. </member>
  2400. <member name="P:HttpServer.IHttpResponse.ProtocolVersion">
  2401. <summary>
  2402. Defines the version of the HTTP Response for applications where it's required
  2403. for this to be forced.
  2404. </summary>
  2405. </member>
  2406. <member name="P:HttpServer.IHttpResponse.Chunked">
  2407. <summary>
  2408. The chunked encoding modifies the body of a message in order to
  2409. transfer it as a series of chunks, each with its own size indicator,
  2410. followed by an OPTIONAL trailer containing entity-header fields. This
  2411. allows dynamically produced content to be transferred along with the
  2412. information necessary for the recipient to verify that it has
  2413. received the full message.
  2414. </summary>
  2415. </member>
  2416. <member name="P:HttpServer.IHttpResponse.Connection">
  2417. <summary>
  2418. Kind of connection
  2419. </summary>
  2420. </member>
  2421. <member name="P:HttpServer.IHttpResponse.Encoding">
  2422. <summary>
  2423. Encoding to use when sending stuff to the client.
  2424. </summary>
  2425. <remarks>Default is UTF8</remarks>
  2426. </member>
  2427. <member name="P:HttpServer.IHttpResponse.KeepAlive">
  2428. <summary>
  2429. Number of seconds to keep connection alive
  2430. </summary>
  2431. <remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks>
  2432. </member>
  2433. <member name="P:HttpServer.IHttpResponse.Status">
  2434. <summary>
  2435. Status code that is sent to the client.
  2436. </summary>
  2437. <remarks>Default is HttpStatusCode.Ok</remarks>
  2438. </member>
  2439. <member name="P:HttpServer.IHttpResponse.Reason">
  2440. <summary>
  2441. Information about why a specific status code was used.
  2442. </summary>
  2443. </member>
  2444. <member name="P:HttpServer.IHttpResponse.ContentLength">
  2445. <summary>
  2446. Size of the body. MUST be specified before sending the header,
  2447. unless property Chunked is set to true.
  2448. </summary>
  2449. </member>
  2450. <member name="P:HttpServer.IHttpResponse.ContentType">
  2451. <summary>
  2452. Kind of content in the body
  2453. </summary>
  2454. <remarks>Default is text/html</remarks>
  2455. </member>
  2456. <member name="P:HttpServer.IHttpResponse.HeadersSent">
  2457. <summary>
  2458. Headers have been sent to the client-
  2459. </summary>
  2460. <remarks>You can not send any additional headers if they have already been sent.</remarks>
  2461. </member>
  2462. <member name="P:HttpServer.IHttpResponse.Sent">
  2463. <summary>
  2464. The whole response have been sent.
  2465. </summary>
  2466. </member>
  2467. <member name="P:HttpServer.IHttpResponse.Cookies">
  2468. <summary>
  2469. Cookies that should be created/changed.
  2470. </summary>
  2471. </member>
  2472. <member name="T:HttpServer.ConnectionType">
  2473. <summary>
  2474. Type of HTTP connection
  2475. </summary>
  2476. </member>
  2477. <member name="F:HttpServer.ConnectionType.Close">
  2478. <summary>
  2479. Connection is closed after each request-response
  2480. </summary>
  2481. </member>
  2482. <member name="F:HttpServer.ConnectionType.KeepAlive">
  2483. <summary>
  2484. Connection is kept alive for X seconds (unless another request have been made)
  2485. </summary>
  2486. </member>
  2487. <member name="T:HttpServer.IHttpRequest">
  2488. <summary>
  2489. Contains server side HTTP request information.
  2490. </summary>
  2491. </member>
  2492. <member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)">
  2493. <summary>
  2494. Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>.
  2495. </summary>
  2496. <param name="name">Name of the header, should not be URL encoded</param>
  2497. <param name="value">Value of the header, should not be URL encoded</param>
  2498. <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
  2499. </member>
  2500. <member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
  2501. <summary>
  2502. Add bytes to the body
  2503. </summary>
  2504. <param name="bytes">buffer to read bytes from</param>
  2505. <param name="offset">where to start read</param>
  2506. <param name="length">number of bytes to read</param>
  2507. <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
  2508. <exception cref="T:System.InvalidOperationException">If body is not writable</exception>
  2509. <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception>
  2510. <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception>
  2511. </member>
  2512. <member name="M:HttpServer.IHttpRequest.Clear">
  2513. <summary>
  2514. Clear everything in the request
  2515. </summary>
  2516. </member>
  2517. <member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
  2518. <summary>
  2519. Decode body into a form.
  2520. </summary>
  2521. <param name="providers">A list with form decoders.</param>
  2522. <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
  2523. <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
  2524. </member>
  2525. <member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)">
  2526. <summary>
  2527. Sets the cookies.
  2528. </summary>
  2529. <param name="cookies">The cookies.</param>
  2530. </member>
  2531. <member name="M:HttpServer.IHttpRequest.CreateResponse(HttpServer.IHttpClientContext)">
  2532. <summary>
  2533. Create a response object.
  2534. </summary>
  2535. <param name="context">Context for the connected client.</param>
  2536. <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns>
  2537. </member>
  2538. <member name="P:HttpServer.IHttpRequest.AcceptTypes">
  2539. <summary>
  2540. Gets kind of types accepted by the client.
  2541. </summary>
  2542. </member>
  2543. <member name="P:HttpServer.IHttpRequest.Body">
  2544. <summary>
  2545. Gets or sets body stream.
  2546. </summary>
  2547. </member>
  2548. <member name="P:HttpServer.IHttpRequest.BodyIsComplete">
  2549. <summary>
  2550. Gets whether the body is complete.
  2551. </summary>
  2552. </member>
  2553. <member name="P:HttpServer.IHttpRequest.Connection">
  2554. <summary>
  2555. Gets or sets kind of connection used for the session.
  2556. </summary>
  2557. </member>
  2558. <member name="P:HttpServer.IHttpRequest.ContentLength">
  2559. <summary>
  2560. Gets or sets number of bytes in the body.
  2561. </summary>
  2562. </member>
  2563. <member name="P:HttpServer.IHttpRequest.Cookies">
  2564. <summary>
  2565. Gets cookies that was sent with the request.
  2566. </summary>
  2567. </member>
  2568. <member name="P:HttpServer.IHttpRequest.Form">
  2569. <summary>
  2570. Gets form parameters.
  2571. </summary>
  2572. </member>
  2573. <member name="P:HttpServer.IHttpRequest.Headers">
  2574. <summary>
  2575. Gets headers sent by the client.
  2576. </summary>
  2577. </member>
  2578. <member name="P:HttpServer.IHttpRequest.HttpVersion">
  2579. <summary>
  2580. Gets or sets version of HTTP protocol that's used.
  2581. </summary>
  2582. <remarks>
  2583. Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>.
  2584. </remarks>
  2585. <seealso cref="T:HttpServer.HttpHelper"/>
  2586. </member>
  2587. <member name="P:HttpServer.IHttpRequest.IsAjax">
  2588. <summary>
  2589. Gets whether the request was made by Ajax (Asynchronous JavaScript)
  2590. </summary>
  2591. </member>
  2592. <member name="P:HttpServer.IHttpRequest.Method">
  2593. <summary>
  2594. Gets or sets requested method.
  2595. </summary>
  2596. <remarks>
  2597. Will always be in upper case.
  2598. </remarks>
  2599. <see cref="P:HttpServer.IHttpRequest.Method"/>
  2600. </member>
  2601. <member name="P:HttpServer.IHttpRequest.Param">
  2602. <summary>
  2603. Gets parameter from <see cref="P:HttpServer.IHttpRequest.QueryString"/> or <see cref="P:HttpServer.IHttpRequest.Form"/>.
  2604. </summary>
  2605. </member>
  2606. <member name="P:HttpServer.IHttpRequest.QueryString">
  2607. <summary>
  2608. Gets variables sent in the query string
  2609. </summary>
  2610. </member>
  2611. <member name="P:HttpServer.IHttpRequest.Uri">
  2612. <summary>
  2613. Gets or sets requested URI.
  2614. </summary>
  2615. </member>
  2616. <member name="P:HttpServer.IHttpRequest.UriParts">
  2617. <summary>
  2618. Gets URI absolute path divided into parts.
  2619. </summary>
  2620. <example>
  2621. // URI is: http://gauffin.com/code/tiny/
  2622. Console.WriteLine(request.UriParts[0]); // result: code
  2623. Console.WriteLine(request.UriParts[1]); // result: tiny
  2624. </example>
  2625. <remarks>
  2626. If you're using controllers than the first part is controller name,
  2627. the second part is method name and the third part is Id property.
  2628. </remarks>
  2629. <seealso cref="P:HttpServer.IHttpRequest.Uri"/>
  2630. </member>
  2631. <member name="P:HttpServer.IHttpRequest.UriPath">
  2632. <summary>
  2633. Gets or sets path and query.
  2634. </summary>
  2635. <see cref="P:HttpServer.IHttpRequest.Uri"/>
  2636. <remarks>
  2637. Are only used during request parsing. Cannot be set after "Host" header have been
  2638. added.
  2639. </remarks>
  2640. </member>
  2641. <member name="T:HttpServer.IHttpClientContext">
  2642. <summary>
  2643. Contains a connection to a browser/client.
  2644. </summary>
  2645. </member>
  2646. <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)">
  2647. <summary>
  2648. Disconnect from client
  2649. </summary>
  2650. <param name="error">error to report in the <see cref="E:HttpServer.IHttpClientContext.Disconnected"/> event.</param>
  2651. </member>
  2652. <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)">
  2653. <summary>
  2654. Send a response.
  2655. </summary>
  2656. <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
  2657. <param name="statusCode">HTTP status code</param>
  2658. <param name="reason">reason for the status code.</param>
  2659. <param name="body">HTML body contents, can be null or empty.</param>
  2660. <param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param>
  2661. <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception>
  2662. </member>
  2663. <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)">
  2664. <summary>
  2665. Send a response.
  2666. </summary>
  2667. <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
  2668. <param name="statusCode">HTTP status code</param>
  2669. <param name="reason">reason for the status code.</param>
  2670. </member>
  2671. <member name="M:HttpServer.IHttpClientContext.Respond(System.String)">
  2672. <summary>
  2673. Send a response.
  2674. </summary>
  2675. <exception cref="T:System.ArgumentNullException"></exception>
  2676. </member>
  2677. <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])">
  2678. <summary>
  2679. send a whole buffer
  2680. </summary>
  2681. <param name="buffer">buffer to send</param>
  2682. <exception cref="T:System.ArgumentNullException"></exception>
  2683. </member>
  2684. <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)">
  2685. <summary>
  2686. Send data using the stream
  2687. </summary>
  2688. <param name="buffer">Contains data to send</param>
  2689. <param name="offset">Start position in buffer</param>
  2690. <param name="size">number of bytes to send</param>
  2691. <exception cref="T:System.ArgumentNullException"></exception>
  2692. <exception cref="T:System.ArgumentOutOfRangeException"></exception>
  2693. </member>
  2694. <member name="M:HttpServer.IHttpClientContext.Close">
  2695. <summary>
  2696. Closes the streams and disposes of the unmanaged resources
  2697. </summary>
  2698. </member>
  2699. <member name="P:HttpServer.IHttpClientContext.Secured">
  2700. <summary>
  2701. Using SSL or other encryption method.
  2702. </summary>
  2703. </member>
  2704. <member name="P:HttpServer.IHttpClientContext.IsSecured">
  2705. <summary>
  2706. Using SSL or other encryption method.
  2707. </summary>
  2708. </member>
  2709. <member name="E:HttpServer.IHttpClientContext.Disconnected">
  2710. <summary>
  2711. The context have been disconnected.
  2712. </summary>
  2713. <remarks>
  2714. Event can be used to clean up a context, or to reuse it.
  2715. </remarks>
  2716. </member>
  2717. <member name="E:HttpServer.IHttpClientContext.RequestReceived">
  2718. <summary>
  2719. A request have been received in the context.
  2720. </summary>
  2721. </member>
  2722. <member name="T:HttpServer.DisconnectedEventArgs">
  2723. <summary>
  2724. A <see cref="T:HttpServer.IHttpClientContext"/> have been disconnected.
  2725. </summary>
  2726. </member>
  2727. <member name="M:HttpServer.DisconnectedEventArgs.#ctor(System.Net.Sockets.SocketError)">
  2728. <summary>
  2729. Initializes a new instance of the <see cref="T:HttpServer.DisconnectedEventArgs"/> class.
  2730. </summary>
  2731. <param name="error">Reason to disconnection.</param>
  2732. </member>
  2733. <member name="P:HttpServer.DisconnectedEventArgs.Error">
  2734. <summary>
  2735. Gets reason to why client disconnected.
  2736. </summary>
  2737. </member>
  2738. <member name="T:HttpServer.RequestEventArgs">
  2739. <summary>
  2740. </summary>
  2741. </member>
  2742. <member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpRequest)">
  2743. <summary>
  2744. Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class.
  2745. </summary>
  2746. <param name="request">The request.</param>
  2747. </member>
  2748. <member name="P:HttpServer.RequestEventArgs.Request">
  2749. <summary>
  2750. Gets received request.
  2751. </summary>
  2752. </member>
  2753. <member name="T:HttpServer.HttpModules.WebSiteModule">
  2754. <summary>
  2755. The website module let's you handle multiple websites in the same server.
  2756. It uses the "Host" header to check which site you want.
  2757. </summary>
  2758. <remarks>It's recommended that you do not
  2759. add any other modules to HttpServer if you are using the website module. Instead,
  2760. add all wanted modules to each website.</remarks>
  2761. </member>
  2762. <member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)">
  2763. <summary>
  2764. </summary>
  2765. <param name="host">domain name that should be handled.</param>
  2766. <param name="name"></param>
  2767. </member>
  2768. <member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
  2769. <summary>
  2770. Method that process the url
  2771. </summary>
  2772. <param name="request">Information sent by the browser about the request</param>
  2773. <param name="response">Information that is being sent back to the client.</param>
  2774. <param name="session">Session used to </param>
  2775. </member>
  2776. <member name="P:HttpServer.HttpModules.WebSiteModule.SiteName">
  2777. <summary>
  2778. Name of site.
  2779. </summary>
  2780. </member>
  2781. <member name="T:HttpServer.HttpInputItem">
  2782. <summary>
  2783. represents a HTTP input item. Each item can have multiple sub items, a sub item
  2784. is made in a HTML form by using square brackets
  2785. </summary>
  2786. <example>
  2787. // <input type="text" name="user[FirstName]" value="jonas" /> becomes:
  2788. Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value);
  2789. </example>
  2790. <remarks>
  2791. All names in a form SHOULD be in lowercase.
  2792. </remarks>
  2793. </member>
  2794. <member name="F:HttpServer.HttpInputItem.Empty">
  2795. <summary> Representation of a non-initialized <see cref="T:HttpServer.HttpInputItem"/>.</summary>
  2796. </member>
  2797. <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)">
  2798. <summary>
  2799. Initializes an input item setting its name/identifier and value
  2800. </summary>
  2801. <param name="name">Parameter name/id</param>
  2802. <param name="value">Parameter value</param>
  2803. </member>
  2804. <member name="M:HttpServer.HttpInputItem.#ctor(HttpServer.HttpInputItem)">
  2805. <summary>Creates a deep copy of the item specified</summary>
  2806. <param name="item">The item to copy</param>
  2807. <remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
  2808. </member>
  2809. <member name="M:HttpServer.HttpInputItem.Add(System.String)">
  2810. <summary>
  2811. Add another value to this item
  2812. </summary>
  2813. <param name="value">Value to add.</param>
  2814. <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
  2815. </member>
  2816. <member name="M:HttpServer.HttpInputItem.Contains(System.String)">
  2817. <summary>
  2818. checks if a sub-item exists (and has a value).
  2819. </summary>
  2820. <param name="name">name in lower case</param>
  2821. <returns>true if the sub-item exists and has a value; otherwise false.</returns>
  2822. </member>
  2823. <member name="M:HttpServer.HttpInputItem.ToString">
  2824. <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary>
  2825. </member>
  2826. <member name="M:HttpServer.HttpInputItem.ToString(System.String,System.Boolean)">
  2827. <summary>
  2828. Outputs the string in a formatted manner
  2829. </summary>
  2830. <param name="prefix">A prefix to append, used internally</param>
  2831. <param name="asQuerySting">produce a query string</param>
  2832. </member>
  2833. <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)">
  2834. <summary>
  2835. Add a sub item.
  2836. </summary>
  2837. <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param>
  2838. <param name="value">Value to add.</param>
  2839. <exception cref="T:System.ArgumentNullException">Argument is null.</exception>
  2840. <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
  2841. </member>
  2842. <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
  2843. <summary>
  2844. Returns an enumerator that iterates through the collection.
  2845. </summary>
  2846. <returns>
  2847. A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
  2848. </returns>
  2849. <filterpriority>1</filterpriority>
  2850. </member>
  2851. <member name="M:HttpServer.HttpInputItem.GetEnumerator">
  2852. <summary>
  2853. Returns an enumerator that iterates through a collection.
  2854. </summary>
  2855. <returns>
  2856. An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
  2857. </returns>
  2858. <filterpriority>2</filterpriority>
  2859. </member>
  2860. <member name="M:HttpServer.HttpInputItem.ToString(System.String)">
  2861. <summary>
  2862. Outputs the string in a formatted manner
  2863. </summary>
  2864. <param name="prefix">A prefix to append, used internally</param>
  2865. <returns></returns>
  2866. </member>
  2867. <member name="P:HttpServer.HttpInputItem.Count">
  2868. <summary>
  2869. Number of values
  2870. </summary>
  2871. </member>
  2872. <member name="P:HttpServer.HttpInputItem.Item(System.String)">
  2873. <summary>
  2874. Get a sub item
  2875. </summary>
  2876. <param name="name">name in lower case.</param>
  2877. <returns><see cref="F:HttpServer.HttpInputItem.Empty"/> if no item was found.</returns>
  2878. </member>
  2879. <member name="P:HttpServer.HttpInputItem.Name">
  2880. <summary>
  2881. Name of item (in lower case).
  2882. </summary>
  2883. </member>
  2884. <member name="P:HttpServer.HttpInputItem.Value">
  2885. <summary>
  2886. Returns the first value, or null if no value exist.
  2887. </summary>
  2888. </member>
  2889. <member name="P:HttpServer.HttpInputItem.LastValue">
  2890. <summary>
  2891. Returns the last value, or null if no value exist.
  2892. </summary>
  2893. </member>
  2894. <member name="P:HttpServer.HttpInputItem.Values">
  2895. <summary>
  2896. Returns the list with values.
  2897. </summary>
  2898. </member>
  2899. <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)">
  2900. <summary>
  2901. </summary>
  2902. <param name="name">name in lower case</param>
  2903. <returns></returns>
  2904. </member>
  2905. <member name="T:HttpServer.HttpFile">
  2906. <summary>
  2907. Container class for posted files
  2908. </summary>
  2909. </member>
  2910. <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)">
  2911. <summary>
  2912. Creates a container for a posted file
  2913. </summary>
  2914. <param name="name">The identifier of the post field</param>
  2915. <param name="filename">The file path</param>
  2916. <param name="contentType">The content type of the file</param>
  2917. <param name="uploadFilename">The name of the file uploaded</param>
  2918. <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
  2919. </member>
  2920. <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)">
  2921. <summary>
  2922. Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/>
  2923. </summary>
  2924. <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
  2925. </member>
  2926. <member name="M:HttpServer.HttpFile.Finalize">
  2927. <summary>Destructor disposing the file</summary>
  2928. </member>
  2929. <member name="M:HttpServer.HttpFile.Dispose(System.Boolean)">
  2930. <summary>
  2931. Deletes the temporary file
  2932. </summary>
  2933. <param name="disposing">True if manual dispose</param>
  2934. </member>
  2935. <member name="M:HttpServer.HttpFile.Dispose">
  2936. <summary>
  2937. Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization
  2938. </summary>
  2939. </member>
  2940. <member name="P:HttpServer.HttpFile.Name">
  2941. <summary>
  2942. The name/id of the file
  2943. </summary>
  2944. </member>
  2945. <member name="P:HttpServer.HttpFile.Filename">
  2946. <summary>
  2947. The full file path
  2948. </summary>
  2949. </member>
  2950. <member name="P:HttpServer.HttpFile.UploadFilename">
  2951. <summary>
  2952. The name of the uploaded file
  2953. </summary>
  2954. </member>
  2955. <member name="P:HttpServer.HttpFile.ContentType">
  2956. <summary>
  2957. The type of file
  2958. </summary>
  2959. </member>
  2960. <member name="T:HttpServer.Helpers.Implementations.PrototypeImp">
  2961. <summary>
  2962. PrototypeJS implementation of the javascript functions.
  2963. </summary>
  2964. </member>
  2965. <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])">
  2966. <summary>
  2967. Requests a url through ajax
  2968. </summary>
  2969. <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
  2970. <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
  2971. <returns>a link tag</returns>
  2972. <remarks>onclick attribute is used by this method.</remarks>
  2973. <example>
  2974. <code>
  2975. // plain text
  2976. JSHelper.AjaxRequest("'/user/show/1'");
  2977. // ajax request using this.href
  2978. string link = "&lt;a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/&lt;call user&lt;/a&gt;";
  2979. </code>
  2980. </example>
  2981. </member>
  2982. <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.Contains(System.Collections.Generic.IEnumerable{System.String},System.String)">
  2983. <summary>
  2984. Determins if a list of strings contains a specific value
  2985. </summary>
  2986. <param name="options">options to check in</param>
  2987. <param name="value">value to find</param>
  2988. <returns>true if value was found</returns>
  2989. <remarks>case insensitive</remarks>
  2990. </member>
  2991. <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxUpdater(System.String,System.String,System.String[])">
  2992. <summary>
  2993. Ajax requests that updates an element with
  2994. the fetched content
  2995. </summary>
  2996. <param name="url">URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
  2997. <param name="targetId">element to update</param>
  2998. <param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
  2999. <returns>A link tag.</returns>
  3000. <example>
  3001. <code>
  3002. JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
  3003. </code>
  3004. </example>
  3005. </member>
  3006. <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])">
  3007. <summary>
  3008. A link that pop ups a Dialog (overlay div)
  3009. </summary>
  3010. <param name="url">URL to contents of dialog</param>
  3011. <param name="title">link title</param>
  3012. <param name="htmlAttributes">name, value, name, value</param>
  3013. <returns>
  3014. A "a"-tag that popups a dialog when clicked
  3015. </returns>
  3016. <remarks><para>Requires Control.Modal found here: http://livepipe.net/projects/control_modal/</para>
  3017. And the following JavaScript (load it in application.js):
  3018. <code>
  3019. Event.observe(window, 'load',
  3020. function() {
  3021. document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); });
  3022. }
  3023. );
  3024. </code>
  3025. </remarks>
  3026. <example>
  3027. WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
  3028. </example>
  3029. </member>
  3030. <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CreateDialog(System.String,System.String,System.String[])">
  3031. <summary>
  3032. create a modal dialog (usually using DIVs)
  3033. </summary>
  3034. <param name="url">url to fetch</param>
  3035. <param name="title">dialog title</param>
  3036. <param name="options">javascript/html attributes. javascript options ends with colon ':'.</param>
  3037. <returns></returns>
  3038. </member>
  3039. <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CloseDialog">
  3040. <summary>
  3041. Close a javascript dialog window/div.
  3042. </summary>
  3043. <returns>javascript for closing a dialog.</returns>
  3044. <see cref="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])"/>
  3045. </member>
  3046. <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxFormOnSubmit(System.String[])">
  3047. <summary>
  3048. javascript action that should be added to the "onsubmit" event in the form tag.
  3049. </summary>
  3050. <param name="options">remember to encapsulate strings in ''</param>
  3051. <returns></returns>
  3052. <remarks>All javascript option names should end with colon.</remarks>
  3053. <example>
  3054. <code>
  3055. JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
  3056. </code>
  3057. </example>
  3058. </member>
  3059. <member name="T:HttpServer.Exceptions.UnauthorizedException">
  3060. <summary>
  3061. The request requires user authentication. The response MUST include a
  3062. WWW-Authenticate header field (section 14.47) containing a challenge
  3063. applicable to the requested resource.
  3064. The client MAY repeat the request with a suitable Authorization header
  3065. field (section 14.8). If the request already included Authorization
  3066. credentials, then the 401 response indicates that authorization has been
  3067. refused for those credentials. If the 401 response contains the same challenge
  3068. as the prior response, and the user agent has already attempted authentication
  3069. at least once, then the user SHOULD be presented the entity that was given in the response,
  3070. since that entity might include relevant diagnostic information.
  3071. HTTP access authentication is explained in rfc2617:
  3072. http://www.ietf.org/rfc/rfc2617.txt
  3073. (description is taken from
  3074. http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2)
  3075. </summary>
  3076. </member>
  3077. <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor">
  3078. <summary>
  3079. Create a new unauhtorized exception.
  3080. </summary>
  3081. <seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/>
  3082. </member>
  3083. <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)">
  3084. <summary>
  3085. Create a new unauhtorized exception.
  3086. </summary>
  3087. <param name="message">reason to why the request was unauthorized.</param>
  3088. <param name="inner">inner exception</param>
  3089. </member>
  3090. <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)">
  3091. <summary>
  3092. Create a new unauhtorized exception.
  3093. </summary>
  3094. <param name="message">reason to why the request was unauthorized.</param>
  3095. </member>
  3096. <member name="T:HttpServer.Exceptions.ForbiddenException">
  3097. <summary>
  3098. The server understood the request, but is refusing to fulfill it.
  3099. Authorization will not help and the request SHOULD NOT be repeated.
  3100. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled,
  3101. it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information
  3102. available to the client, the status code 404 (Not Found) can be used instead.
  3103. Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
  3104. </summary>
  3105. </member>
  3106. <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)">
  3107. <summary>
  3108. Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class.
  3109. </summary>
  3110. <param name="errorMsg">error message</param>
  3111. </member>
  3112. <member name="T:HttpServer.Authentication.BasicAuthentication">
  3113. <summary>
  3114. The "basic" authentication scheme is based on the model that the
  3115. client must authenticate itself with a user-ID and a password for
  3116. each realm. The realm value should be considered an opaque string
  3117. which can only be compared for equality with other realms on that
  3118. server. The server will service the request only if it can validate
  3119. the user-ID and password for the protection space of the Request-URI.
  3120. There are no optional authentication parameters.
  3121. </summary>
  3122. </member>
  3123. <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
  3124. <summary>
  3125. Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
  3126. </summary>
  3127. <param name="authenticator">Delegate used to provide information used during authentication.</param>
  3128. <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
  3129. </member>
  3130. <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
  3131. <summary>
  3132. Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
  3133. </summary>
  3134. <param name="authenticator">Delegate used to provide information used during authentication.</param>
  3135. </member>
  3136. <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])">
  3137. <summary>
  3138. Create a response that can be sent in the WWW-Authenticate header.
  3139. </summary>
  3140. <param name="realm">Realm that the user should authenticate in</param>
  3141. <param name="options">Not used in basic auth</param>
  3142. <returns>A correct auth request.</returns>
  3143. </member>
  3144. <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])">
  3145. <summary>
  3146. An authentication response have been received from the web browser.
  3147. Check if it's correct
  3148. </summary>
  3149. <param name="authenticationHeader">Contents from the Authorization header</param>
  3150. <param name="realm">Realm that should be authenticated</param>
  3151. <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
  3152. <param name="options">Not used in basic auth</param>
  3153. <returns>Authentication object that is stored for the request. A user class or something like that.</returns>
  3154. <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
  3155. <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
  3156. </member>
  3157. <member name="P:HttpServer.Authentication.BasicAuthentication.Name">
  3158. <summary>
  3159. name used in http request.
  3160. </summary>
  3161. </member>
  3162. <member name="T:HttpServer.Sessions.IHttpSessionStore">
  3163. <summary>
  3164. A session store is used to store and load sessions on a media.
  3165. The default implementation (<see cref="T:HttpServer.Sessions.MemorySessionStore"/>) saves/retrieves sessions from memory.
  3166. </summary>
  3167. </member>
  3168. <member name="M:HttpServer.Sessions.IHttpSessionStore.Create">
  3169. <summary>
  3170. Creates a new http session with a generated id.
  3171. </summary>
  3172. <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object</returns>
  3173. </member>
  3174. <member name="M:HttpServer.Sessions.IHttpSessionStore.Create(System.String)">
  3175. <summary>
  3176. Creates a new http session with a specific id
  3177. </summary>
  3178. <param name="id">Id used to identify the new cookie..</param>
  3179. <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
  3180. <remarks>
  3181. Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
  3182. </remarks>
  3183. </member>
  3184. <member name="M:HttpServer.Sessions.IHttpSessionStore.Load(System.String)">
  3185. <summary>
  3186. Load an existing session.
  3187. </summary>
  3188. <param name="sessionId">Session id (usually retrieved from a client side cookie).</param>
  3189. <returns>A session if found; otherwise null.</returns>
  3190. </member>
  3191. <member name="M:HttpServer.Sessions.IHttpSessionStore.Save(HttpServer.Sessions.IHttpSession)">
  3192. <summary>
  3193. Save an updated session to the store.
  3194. </summary>
  3195. <param name="session">Session id (usually retrieved from a client side cookie).</param>
  3196. <exception cref="T:System.ArgumentException">If Id property have not been specified.</exception>
  3197. </member>
  3198. <member name="M:HttpServer.Sessions.IHttpSessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
  3199. <summary>
  3200. We use the flyweight pattern which reuses small objects
  3201. instead of creating new each time.
  3202. </summary>
  3203. <param name="session">Unused session that should be reused next time Create is called.</param>
  3204. </member>
  3205. <member name="M:HttpServer.Sessions.IHttpSessionStore.Cleanup">
  3206. <summary>
  3207. Remove expired sessions
  3208. </summary>
  3209. </member>
  3210. <member name="M:HttpServer.Sessions.IHttpSessionStore.Remove(System.String)">
  3211. <summary>
  3212. Remove a session
  3213. </summary>
  3214. <param name="sessionId">id of the session.</param>
  3215. </member>
  3216. <member name="P:HttpServer.Sessions.IHttpSessionStore.Item(System.String)">
  3217. <summary>
  3218. Load a session from the store
  3219. </summary>
  3220. <param name="sessionId"></param>
  3221. <returns>null if session is not found.</returns>
  3222. </member>
  3223. <member name="P:HttpServer.Sessions.IHttpSessionStore.ExpireTime">
  3224. <summary>
  3225. Number of minutes before a session expires.
  3226. </summary>
  3227. <value>Default time is 20 minutes.</value>
  3228. </member>
  3229. <member name="T:HttpServer.RequestCookies">
  3230. <summary>
  3231. This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie).
  3232. The framework might switch class in the future and we dont want to have to replace all instances
  3233. </summary>
  3234. </member>
  3235. <member name="M:HttpServer.RequestCookies.#ctor(System.String)">
  3236. <summary>
  3237. Let's copy all the cookies.
  3238. </summary>
  3239. <param name="cookies">value from cookie header.</param>
  3240. </member>
  3241. <member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)">
  3242. <summary>
  3243. Adds a cookie in the collection.
  3244. </summary>
  3245. <param name="cookie">cookie to add</param>
  3246. <exception cref="T:System.ArgumentNullException">cookie is null</exception>
  3247. </member>
  3248. <member name="M:HttpServer.RequestCookies.GetEnumerator">
  3249. <summary>
  3250. Gets a collection enumerator on the cookie list.
  3251. </summary>
  3252. <returns>collection enumerator</returns>
  3253. </member>
  3254. <member name="M:HttpServer.RequestCookies.Clear">
  3255. <summary>
  3256. Remove all cookies.
  3257. </summary>
  3258. </member>
  3259. <member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#RequestCookie}#GetEnumerator">
  3260. <summary>
  3261. Returns an enumerator that iterates through the collection.
  3262. </summary>
  3263. <returns>
  3264. A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
  3265. </returns>
  3266. <filterpriority>1</filterpriority>
  3267. </member>
  3268. <member name="M:HttpServer.RequestCookies.Remove(System.String)">
  3269. <summary>
  3270. Remove a cookie from the collection.
  3271. </summary>
  3272. <param name="cookieName">Name of cookie.</param>
  3273. </member>
  3274. <member name="P:HttpServer.RequestCookies.Count">
  3275. <summary>
  3276. Gets the count of cookies in the collection.
  3277. </summary>
  3278. </member>
  3279. <member name="P:HttpServer.RequestCookies.Item(System.String)">
  3280. <summary>
  3281. Gets the cookie of a given identifier (null if not existing).
  3282. </summary>
  3283. </member>
  3284. <member name="T:HttpServer.IComponentProvider">
  3285. <summary>
  3286. Inversion of control interface.
  3287. </summary>
  3288. </member>
  3289. <member name="M:HttpServer.IComponentProvider.AddInstance``1(System.Object)">
  3290. <summary>
  3291. Add a component instance
  3292. </summary>
  3293. <typeparam name="T">Interface type</typeparam>
  3294. <param name="instance">Instance to add</param>
  3295. </member>
  3296. <member name="M:HttpServer.IComponentProvider.Get``1">
  3297. <summary>
  3298. Get a component.
  3299. </summary>
  3300. <typeparam name="T">Interface type</typeparam>
  3301. <returns>Component if registered, otherwise null.</returns>
  3302. <remarks>
  3303. Component will get created if needed.
  3304. </remarks>
  3305. </member>
  3306. <member name="M:HttpServer.IComponentProvider.Contains(System.Type)">
  3307. <summary>
  3308. Checks if the specified component interface have been added.
  3309. </summary>
  3310. <param name="interfaceType"></param>
  3311. <returns>true if found; otherwise false.</returns>
  3312. </member>
  3313. <member name="M:HttpServer.IComponentProvider.Add``2">
  3314. <summary>
  3315. Add a component.
  3316. </summary>
  3317. <typeparam name="InterfaceType">Type being requested.</typeparam>
  3318. <typeparam name="InstanceType">Type being created.</typeparam>
  3319. </member>
  3320. <member name="T:HttpServer.HttpRequest">
  3321. <summary>
  3322. Contains server side HTTP request information.
  3323. </summary>
  3324. </member>
  3325. <member name="F:HttpServer.HttpRequest.UriSplitters">
  3326. <summary>
  3327. Chars used to split an URL path into multiple parts.
  3328. </summary>
  3329. </member>
  3330. <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)">
  3331. <summary>
  3332. Assign a form.
  3333. </summary>
  3334. <param name="form"></param>
  3335. </member>
  3336. <member name="M:HttpServer.HttpRequest.Clone">
  3337. <summary>
  3338. Creates a new object that is a copy of the current instance.
  3339. </summary>
  3340. <returns>
  3341. A new object that is a copy of this instance.
  3342. </returns>
  3343. <filterpriority>2</filterpriority>
  3344. </member>
  3345. <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
  3346. <summary>
  3347. Decode body into a form.
  3348. </summary>
  3349. <param name="providers">A list with form decoders.</param>
  3350. <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
  3351. <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
  3352. </member>
  3353. <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)">
  3354. <summary>
  3355. Cookies
  3356. </summary>
  3357. <param name="cookies">the cookies</param>
  3358. </member>
  3359. <member name="M:HttpServer.HttpRequest.CreateResponse(HttpServer.IHttpClientContext)">
  3360. <summary>
  3361. Create a response object.
  3362. </summary>
  3363. <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns>
  3364. </member>
  3365. <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)">
  3366. <summary>
  3367. Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>.
  3368. </summary>
  3369. <param name="name">Name of the header, should not be URL encoded</param>
  3370. <param name="value">Value of the header, should not be URL encoded</param>
  3371. <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
  3372. </member>
  3373. <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
  3374. <summary>
  3375. Add bytes to the body
  3376. </summary>
  3377. <param name="bytes">buffer to read bytes from</param>
  3378. <param name="offset">where to start read</param>
  3379. <param name="length">number of bytes to read</param>
  3380. <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
  3381. <exception cref="T:System.InvalidOperationException">If body is not writable</exception>
  3382. <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception>
  3383. <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception>
  3384. </member>
  3385. <member name="M:HttpServer.HttpRequest.Clear">
  3386. <summary>
  3387. Clear everything in the request
  3388. </summary>
  3389. </member>
  3390. <member name="P:HttpServer.HttpRequest.Secure">
  3391. <summary>
  3392. Gets or sets a value indicating whether this <see cref="T:HttpServer.HttpRequest"/> is secure.
  3393. </summary>
  3394. </member>
  3395. <member name="P:HttpServer.HttpRequest.UriPath">
  3396. <summary>
  3397. Path and query (will be merged with the host header) and put in Uri
  3398. </summary>
  3399. <see cref="P:HttpServer.HttpRequest.Uri"/>
  3400. </member>
  3401. <member name="P:HttpServer.HttpRequest.BodyIsComplete">
  3402. <summary>
  3403. Gets whether the body is complete.
  3404. </summary>
  3405. </member>
  3406. <member name="P:HttpServer.HttpRequest.AcceptTypes">
  3407. <summary>
  3408. Gets kind of types accepted by the client.
  3409. </summary>
  3410. </member>
  3411. <member name="P:HttpServer.HttpRequest.Body">
  3412. <summary>
  3413. Gets or sets body stream.
  3414. </summary>
  3415. </member>
  3416. <member name="P:HttpServer.HttpRequest.Connection">
  3417. <summary>
  3418. Gets or sets kind of connection used for the session.
  3419. </summary>
  3420. </member>
  3421. <member name="P:HttpServer.HttpRequest.ContentLength">
  3422. <summary>
  3423. Gets or sets number of bytes in the body.
  3424. </summary>
  3425. </member>
  3426. <member name="P:HttpServer.HttpRequest.Headers">
  3427. <summary>
  3428. Gets headers sent by the client.
  3429. </summary>
  3430. </member>
  3431. <member name="P:HttpServer.HttpRequest.HttpVersion">
  3432. <summary>
  3433. Gets or sets version of HTTP protocol that's used.
  3434. </summary>
  3435. <remarks>
  3436. Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>.
  3437. </remarks>
  3438. <seealso cref="T:HttpServer.HttpHelper"/>
  3439. </member>
  3440. <member name="P:HttpServer.HttpRequest.Method">
  3441. <summary>
  3442. Gets or sets requested method.
  3443. </summary>
  3444. <value></value>
  3445. <remarks>
  3446. Will always be in upper case.
  3447. </remarks>
  3448. <see cref="!:HttpServer.Method"/>
  3449. </member>
  3450. <member name="P:HttpServer.HttpRequest.QueryString">
  3451. <summary>
  3452. Gets variables sent in the query string
  3453. </summary>
  3454. </member>
  3455. <member name="P:HttpServer.HttpRequest.Uri">
  3456. <summary>
  3457. Gets or sets requested URI.
  3458. </summary>
  3459. </member>
  3460. <member name="P:HttpServer.HttpRequest.UriParts">
  3461. <summary>
  3462. Uri absolute path splitted into parts.
  3463. </summary>
  3464. <example>
  3465. // uri is: http://gauffin.com/code/tiny/
  3466. Console.WriteLine(request.UriParts[0]); // result: code
  3467. Console.WriteLine(request.UriParts[1]); // result: tiny
  3468. </example>
  3469. <remarks>
  3470. If you're using controllers than the first part is controller name,
  3471. the second part is method name and the third part is Id property.
  3472. </remarks>
  3473. <seealso cref="P:HttpServer.HttpRequest.Uri"/>
  3474. </member>
  3475. <member name="P:HttpServer.HttpRequest.Param">
  3476. <summary>
  3477. Gets parameter from <see cref="P:HttpServer.HttpRequest.QueryString"/> or <see cref="P:HttpServer.HttpRequest.Form"/>.
  3478. </summary>
  3479. </member>
  3480. <member name="P:HttpServer.HttpRequest.Form">
  3481. <summary>
  3482. Gets form parameters.
  3483. </summary>
  3484. </member>
  3485. <member name="P:HttpServer.HttpRequest.IsAjax">
  3486. <summary>
  3487. Gets whether the request was made by Ajax (Asynchronous JavaScript)
  3488. </summary>
  3489. </member>
  3490. <member name="P:HttpServer.HttpRequest.Cookies">
  3491. <summary>
  3492. Gets cookies that was sent with the request.
  3493. </summary>
  3494. </member>
  3495. <member name="T:HttpServer.Helpers.ObjectForm">
  3496. <summary>
  3497. The object form class takes an object and creates form items for it.
  3498. </summary>
  3499. </member>
  3500. <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)">
  3501. <summary>
  3502. Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
  3503. </summary>
  3504. <param name="method"></param>
  3505. <param name="name">form name *and* id.</param>
  3506. <param name="action">action to do when form is posted.</param>
  3507. <param name="obj"></param>
  3508. </member>
  3509. <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)">
  3510. <summary>
  3511. Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
  3512. </summary>
  3513. <param name="name">form name *and* id.</param>
  3514. <param name="action">action to do when form is posted.</param>
  3515. <param name="obj">object to get values from</param>
  3516. </member>
  3517. <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)">
  3518. <summary>
  3519. Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
  3520. </summary>
  3521. <param name="action">form action.</param>
  3522. <param name="obj">object to get values from.</param>
  3523. </member>
  3524. <member name="M:HttpServer.Helpers.ObjectForm.Begin">
  3525. <summary>
  3526. write out the FORM-tag.
  3527. </summary>
  3528. <returns>generated html code</returns>
  3529. </member>
  3530. <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)">
  3531. <summary>
  3532. Writeout the form tag
  3533. </summary>
  3534. <param name="isAjax">form should be posted through ajax.</param>
  3535. <returns>generated html code</returns>
  3536. </member>
  3537. <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])">
  3538. <summary>
  3539. Generates a text box.
  3540. </summary>
  3541. <param name="propertyName"></param>
  3542. <param name="options"></param>
  3543. <returns>generated html code</returns>
  3544. </member>
  3545. <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])">
  3546. <summary>
  3547. password box
  3548. </summary>
  3549. <param name="propertyName"></param>
  3550. <param name="options"></param>
  3551. <returns>generated html code</returns>
  3552. </member>
  3553. <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])">
  3554. <summary>
  3555. Hiddens the specified property name.
  3556. </summary>
  3557. <param name="propertyName">Name of the property.</param>
  3558. <param name="options">The options.</param>
  3559. <returns>generated html code</returns>
  3560. </member>
  3561. <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)">
  3562. <summary>
  3563. Labels the specified property name.
  3564. </summary>
  3565. <param name="propertyName">property in object.</param>
  3566. <param name="label">caption</param>
  3567. <returns>generated html code</returns>
  3568. </member>
  3569. <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])">
  3570. <summary>
  3571. Generate a checkbox
  3572. </summary>
  3573. <param name="propertyName">property in object</param>
  3574. <param name="value">checkbox value</param>
  3575. <param name="options">additional html attributes.</param>
  3576. <returns>generated html code</returns>
  3577. </member>
  3578. <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])">
  3579. <summary>
  3580. Write a html select tag
  3581. </summary>
  3582. <param name="propertyName">object property.</param>
  3583. <param name="idColumn">id column</param>
  3584. <param name="titleColumn">The title column.</param>
  3585. <param name="options">The options.</param>
  3586. <returns></returns>
  3587. </member>
  3588. <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])">
  3589. <summary>
  3590. Selects the specified property name.
  3591. </summary>
  3592. <param name="propertyName">Name of the property.</param>
  3593. <param name="items">The items.</param>
  3594. <param name="idColumn">The id column.</param>
  3595. <param name="titleColumn">The title column.</param>
  3596. <param name="options">The options.</param>
  3597. <returns></returns>
  3598. </member>
  3599. <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)">
  3600. <summary>
  3601. Write a submit tag.
  3602. </summary>
  3603. <param name="value">button caption</param>
  3604. <returns>html submit tag</returns>
  3605. </member>
  3606. <member name="M:HttpServer.Helpers.ObjectForm.End">
  3607. <summary>
  3608. html end form tag
  3609. </summary>
  3610. <returns>html</returns>
  3611. </member>
  3612. <member name="T:HttpServer.FormDecoders.UrlDecoder">
  3613. <summary>
  3614. Can handle application/x-www-form-urlencoded
  3615. </summary>
  3616. </member>
  3617. <member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
  3618. <summary>
  3619. </summary>
  3620. <param name="stream">Stream containing the content</param>
  3621. <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
  3622. <param name="encoding">Stream encoding</param>
  3623. <returns>
  3624. A HTTP form, or null if content could not be parsed.
  3625. </returns>
  3626. <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
  3627. </member>
  3628. <member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)">
  3629. <summary>
  3630. Checks if the decoder can handle the mime type
  3631. </summary>
  3632. <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
  3633. <returns>True if the decoder can parse the specified content type</returns>
  3634. </member>
  3635. <member name="T:HttpServer.FormDecoders.MultipartDecoder">
  3636. <summary>
  3637. </summary>
  3638. <remarks>
  3639. http://www.faqs.org/rfcs/rfc1867.html
  3640. </remarks>
  3641. </member>
  3642. <member name="F:HttpServer.FormDecoders.MultipartDecoder.MimeType">
  3643. <summary>
  3644. multipart/form-data
  3645. </summary>
  3646. </member>
  3647. <member name="F:HttpServer.FormDecoders.MultipartDecoder.FormData">
  3648. <summary>
  3649. form-data
  3650. </summary>
  3651. </member>
  3652. <member name="M:HttpServer.FormDecoders.MultipartDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
  3653. <summary>
  3654. </summary>
  3655. <param name="stream">Stream containing the content</param>
  3656. <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
  3657. <param name="encoding">Stream enconding</param>
  3658. <returns>A http form, or null if content could not be parsed.</returns>
  3659. <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
  3660. <exception cref="T:System.ArgumentNullException">If any parameter is null</exception>
  3661. </member>
  3662. <member name="M:HttpServer.FormDecoders.MultipartDecoder.CanParse(System.String)">
  3663. <summary>
  3664. Checks if the decoder can handle the mime type
  3665. </summary>
  3666. <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
  3667. <returns>True if the decoder can parse the specified content type</returns>
  3668. </member>
  3669. <member name="T:HttpServer.ClientAcceptedEventArgs">
  3670. <summary>
  3671. Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/>
  3672. </summary>
  3673. <remarks>
  3674. Can be used to revoke incoming connections
  3675. </remarks>
  3676. </member>
  3677. <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)">
  3678. <summary>
  3679. Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class.
  3680. </summary>
  3681. <param name="socket">The socket.</param>
  3682. </member>
  3683. <member name="M:HttpServer.ClientAcceptedEventArgs.Revoke">
  3684. <summary>
  3685. Client may not be handled.
  3686. </summary>
  3687. </member>
  3688. <member name="P:HttpServer.ClientAcceptedEventArgs.Socket">
  3689. <summary>
  3690. Accepted socket.
  3691. </summary>
  3692. </member>
  3693. <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked">
  3694. <summary>
  3695. Client should be revoked.
  3696. </summary>
  3697. </member>
  3698. <member name="T:HttpServer.HttpModules.FileModule">
  3699. <summary>
  3700. The purpose of this module is to serve files.
  3701. </summary>
  3702. </member>
  3703. <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String,System.Boolean)">
  3704. <summary>
  3705. Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
  3706. </summary>
  3707. <param name="baseUri">Uri to serve, for instance "/files/"</param>
  3708. <param name="basePath">Path on hard drive where we should start looking for files</param>
  3709. <param name="useLastModifiedHeader">If true a Last-Modifed header will be sent upon requests urging web browser to cache files</param>
  3710. </member>
  3711. <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String)">
  3712. <summary>
  3713. Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
  3714. </summary>
  3715. <param name="baseUri">Uri to serve, for instance "/files/"</param>
  3716. <param name="basePath">Path on hard drive where we should start looking for files</param>
  3717. </member>
  3718. <member name="M:HttpServer.HttpModules.FileModule.AddDefaultMimeTypes">
  3719. <summary>
  3720. Mimtypes that this class can handle per default
  3721. </summary>
  3722. </member>
  3723. <member name="M:HttpServer.HttpModules.FileModule.CanHandle(System.Uri)">
  3724. <summary>
  3725. Determines if the request should be handled by this module.
  3726. Invoked by the <see cref="T:HttpServer.HttpServer"/>
  3727. </summary>
  3728. <param name="uri"></param>
  3729. <returns>true if this module should handle it.</returns>
  3730. </member>
  3731. <member name="M:HttpServer.HttpModules.FileModule.GetPath(System.Uri)">
  3732. <exception cref="T:HttpServer.Exceptions.BadRequestException">Illegal path</exception>
  3733. </member>
  3734. <member name="M:HttpServer.HttpModules.FileModule.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})">
  3735. <summary>
  3736. check if source contains any of the chars.
  3737. </summary>
  3738. <param name="source"></param>
  3739. <param name="chars"></param>
  3740. <returns></returns>
  3741. </member>
  3742. <member name="M:HttpServer.HttpModules.FileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
  3743. <summary>
  3744. Method that process the Uri.
  3745. </summary>
  3746. <param name="request">Information sent by the browser about the request</param>
  3747. <param name="response">Information that is being sent back to the client.</param>
  3748. <param name="session">Session used to </param>
  3749. <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to find file extension</exception>
  3750. <exception cref="T:HttpServer.Exceptions.ForbiddenException">File type is forbidden.</exception>
  3751. </member>
  3752. <member name="M:HttpServer.HttpModules.FileModule.GetFileExtension(System.String)">
  3753. <summary>
  3754. return a file extension from an absolute Uri path (or plain filename)
  3755. </summary>
  3756. <param name="uri"></param>
  3757. <returns></returns>
  3758. </member>
  3759. <member name="P:HttpServer.HttpModules.FileModule.MimeTypes">
  3760. <summary>
  3761. List with all mime-type that are allowed.
  3762. </summary>
  3763. <remarks>All other mime types will result in a Forbidden http status code.</remarks>
  3764. </member>
  3765. <member name="P:HttpServer.HttpModules.FileModule.ForbiddenChars">
  3766. <summary>
  3767. characters that may not exist in a path.
  3768. </summary>
  3769. <example>
  3770. fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" };
  3771. </example>
  3772. </member>
  3773. <member name="T:HttpServer.Helpers.XmlHelper">
  3774. <summary>
  3775. Helpers to make XML handling easier
  3776. </summary>
  3777. </member>
  3778. <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)">
  3779. <summary>
  3780. Serializes object to XML.
  3781. </summary>
  3782. <param name="value">object to serialize.</param>
  3783. <returns>XML</returns>
  3784. <remarks>
  3785. Removes name spaces and adds indentation
  3786. </remarks>
  3787. </member>
  3788. <member name="M:HttpServer.Helpers.XmlHelper.Deserialize``1(System.String)">
  3789. <summary>
  3790. Create an object from a XML string
  3791. </summary>
  3792. <typeparam name="T">Type of object</typeparam>
  3793. <param name="xml">XML string</param>
  3794. <returns>object</returns>
  3795. </member>
  3796. <member name="T:HttpServer.Exceptions.NotFoundException">
  3797. <summary>
  3798. The requested resource was not found in the web server.
  3799. </summary>
  3800. </member>
  3801. <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)">
  3802. <summary>
  3803. Create a new exception
  3804. </summary>
  3805. <param name="message">message describing the error</param>
  3806. <param name="inner">inner exception</param>
  3807. </member>
  3808. <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)">
  3809. <summary>
  3810. Create a new exception
  3811. </summary>
  3812. <param name="message">message describing the error</param>
  3813. </member>
  3814. <member name="T:HttpServer.RequestCookie">
  3815. <summary>
  3816. cookie sent by the client/browser
  3817. </summary>
  3818. <seealso cref="T:HttpServer.ResponseCookie"/>
  3819. </member>
  3820. <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)">
  3821. <summary>
  3822. Constructor.
  3823. </summary>
  3824. <param name="id">cookie identifier</param>
  3825. <param name="content">cookie content</param>
  3826. <exception cref="T:System.ArgumentNullException">id or content is null</exception>
  3827. <exception cref="T:System.ArgumentException">id is empty</exception>
  3828. </member>
  3829. <member name="M:HttpServer.RequestCookie.ToString">
  3830. <summary>
  3831. Gets the cookie HTML representation.
  3832. </summary>
  3833. <returns>cookie string</returns>
  3834. </member>
  3835. <member name="P:HttpServer.RequestCookie.Name">
  3836. <summary>
  3837. Gets the cookie identifier.
  3838. </summary>
  3839. </member>
  3840. <member name="P:HttpServer.RequestCookie.Value">
  3841. <summary>
  3842. Cookie value. Set to null to remove cookie.
  3843. </summary>
  3844. </member>
  3845. <member name="T:HttpServer.HttpParam">
  3846. <summary>
  3847. Returns item either from a form or a query string (checks them in that order)
  3848. </summary>
  3849. </member>
  3850. <member name="F:HttpServer.HttpParam.Empty">
  3851. <summary> Representation of a non-initialized HttpParam </summary>
  3852. </member>
  3853. <member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)">
  3854. <summary>Initialises the class to hold a value either from a post request or a querystring request</summary>
  3855. </member>
  3856. <member name="M:HttpServer.HttpParam.Add(System.String,System.String)">
  3857. <summary>
  3858. The add method is not availible for HttpParam
  3859. since HttpParam checks both Request.Form and Request.QueryString
  3860. </summary>
  3861. <param name="name">name identifying the value</param>
  3862. <param name="value">value to add</param>
  3863. <exception cref="T:System.NotImplementedException"></exception>
  3864. </member>
  3865. <member name="M:HttpServer.HttpParam.Contains(System.String)">
  3866. <summary>
  3867. Checks whether the form or querystring has the specified value
  3868. </summary>
  3869. <param name="name">Name, case sensitive</param>
  3870. <returns>true if found; otherwise false.</returns>
  3871. </member>
  3872. <member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
  3873. <summary>
  3874. Returns an enumerator that iterates through the collection.
  3875. </summary>
  3876. <returns>
  3877. A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
  3878. </returns>
  3879. <filterpriority>1</filterpriority>
  3880. </member>
  3881. <member name="M:HttpServer.HttpParam.GetEnumerator">
  3882. <summary>
  3883. Returns an enumerator that iterates through a collection.
  3884. </summary>
  3885. <returns>
  3886. An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
  3887. </returns>
  3888. <filterpriority>2</filterpriority>
  3889. </member>
  3890. <member name="P:HttpServer.HttpParam.Item(System.String)">
  3891. <summary>
  3892. Fetch an item from the form or querystring (in that order).
  3893. </summary>
  3894. <param name="name"></param>
  3895. <returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns>
  3896. </member>
  3897. <member name="T:HttpServer.HttpClientContext">
  3898. <summary>
  3899. Contains a connection to a browser/client.
  3900. </summary>
  3901. <remarks>
  3902. Remember to <see cref="M:HttpServer.HttpClientContext.Start"/> after you have hooked the <see cref="E:HttpServer.HttpClientContext.RequestReceived"/> event.
  3903. </remarks>
  3904. TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext?
  3905. </member>
  3906. <member name="M:HttpServer.HttpClientContext.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.IRequestParserFactory,System.Int32,System.Net.Sockets.Socket)">
  3907. <summary>
  3908. Initializes a new instance of the <see cref="T:HttpServer.HttpClientContext"/> class.
  3909. </summary>
  3910. <param name="secured">true if the connection is secured (SSL/TLS)</param>
  3911. <param name="remoteEndPoint">client that connected.</param>
  3912. <param name="stream">Stream used for communication</param>
  3913. <param name="parserFactory">Used to create a <see cref="T:HttpServer.IHttpRequestParser"/>.</param>
  3914. <param name="bufferSize">Size of buffer to use when reading data. Must be at least 4096 bytes.</param>
  3915. <exception cref="T:System.Net.Sockets.SocketException">If <see cref="M:System.Net.Sockets.Socket.BeginReceive(System.Byte[],System.Int32,System.Int32,System.Net.Sockets.SocketFlags,System.AsyncCallback,System.Object)"/> fails</exception>
  3916. <exception cref="T:System.ArgumentException">Stream must be writable and readable.</exception>
  3917. </member>
  3918. <member name="M:HttpServer.HttpClientContext.OnBodyBytesReceived(System.Object,HttpServer.Parser.BodyEventArgs)">
  3919. <summary>
  3920. Process incoming body bytes.
  3921. </summary>
  3922. <param name="sender"><see cref="T:HttpServer.IHttpRequestParser"/></param>
  3923. <param name="e">Bytes</param>
  3924. </member>
  3925. <member name="M:HttpServer.HttpClientContext.OnHeaderReceived(System.Object,HttpServer.Parser.HeaderEventArgs)">
  3926. <summary>
  3927. </summary>
  3928. <param name="sender"></param>
  3929. <param name="e"></param>
  3930. </member>
  3931. <member name="M:HttpServer.HttpClientContext.Start">
  3932. <summary>
  3933. Start reading content.
  3934. </summary>
  3935. <remarks>
  3936. Make sure to call base.Start() if you override this method.
  3937. </remarks>
  3938. </member>
  3939. <member name="M:HttpServer.HttpClientContext.Cleanup">
  3940. <summary>
  3941. Clean up context.
  3942. </summary>
  3943. <remarks>
  3944. Make sure to call base.Cleanup() if you override the method.
  3945. </remarks>
  3946. </member>
  3947. <member name="M:HttpServer.HttpClientContext.Disconnect(System.Net.Sockets.SocketError)">
  3948. <summary>
  3949. Disconnect from client
  3950. </summary>
  3951. <param name="error">error to report in the <see cref="E:HttpServer.HttpClientContext.Disconnected"/> event.</param>
  3952. </member>
  3953. <member name="M:HttpServer.HttpClientContext.OnReceive(System.IAsyncResult)">
  3954. <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
  3955. </member>
  3956. <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)">
  3957. <summary>
  3958. Send a response.
  3959. </summary>
  3960. <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
  3961. <param name="statusCode">HTTP status code</param>
  3962. <param name="reason">reason for the status code.</param>
  3963. <param name="body">HTML body contents, can be null or empty.</param>
  3964. <param name="contentType">A content type to return the body as, i.e. 'text/html' or 'text/plain', defaults to 'text/html' if null or empty</param>
  3965. <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception>
  3966. </member>
  3967. <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)">
  3968. <summary>
  3969. Send a response.
  3970. </summary>
  3971. <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
  3972. <param name="statusCode">HTTP status code</param>
  3973. <param name="reason">reason for the status code.</param>
  3974. </member>
  3975. <member name="M:HttpServer.HttpClientContext.Respond(System.String)">
  3976. <summary>
  3977. Send a response.
  3978. </summary>
  3979. <exception cref="T:System.ArgumentNullException"></exception>
  3980. </member>
  3981. <member name="M:HttpServer.HttpClientContext.Send(System.Byte[])">
  3982. <summary>
  3983. send a whole buffer
  3984. </summary>
  3985. <param name="buffer">buffer to send</param>
  3986. <exception cref="T:System.ArgumentNullException"></exception>
  3987. </member>
  3988. <member name="M:HttpServer.HttpClientContext.Send(System.Byte[],System.Int32,System.Int32)">
  3989. <summary>
  3990. Send data using the stream
  3991. </summary>
  3992. <param name="buffer">Contains data to send</param>
  3993. <param name="offset">Start position in buffer</param>
  3994. <param name="size">number of bytes to send</param>
  3995. <exception cref="T:System.ArgumentNullException"></exception>
  3996. <exception cref="T:System.ArgumentOutOfRangeException"></exception>
  3997. </member>
  3998. <member name="E:HttpServer.HttpClientContext.Cleaned">
  3999. <summary>
  4000. This context have been cleaned, which means that it can be reused.
  4001. </summary>
  4002. </member>
  4003. <member name="E:HttpServer.HttpClientContext.Started">
  4004. <summary>
  4005. Context have been started (a new client have connected)
  4006. </summary>
  4007. </member>
  4008. <member name="P:HttpServer.HttpClientContext.CurrentRequest">
  4009. <summary>
  4010. Overload to specify own type.
  4011. </summary>
  4012. <remarks>
  4013. Must be specified before the context is being used.
  4014. </remarks>
  4015. </member>
  4016. <member name="P:HttpServer.HttpClientContext.Secured">
  4017. <summary>
  4018. Using SSL or other encryption method.
  4019. </summary>
  4020. </member>
  4021. <member name="P:HttpServer.HttpClientContext.IsSecured">
  4022. <summary>
  4023. Using SSL or other encryption method.
  4024. </summary>
  4025. </member>
  4026. <member name="P:HttpServer.HttpClientContext.LogWriter">
  4027. <summary>
  4028. Specify which logger to use.
  4029. </summary>
  4030. </member>
  4031. <member name="P:HttpServer.HttpClientContext.Stream">
  4032. <summary>
  4033. Gets or sets the network stream.
  4034. </summary>
  4035. </member>
  4036. <member name="P:HttpServer.HttpClientContext.RemoteAddress">
  4037. <summary>
  4038. Gets or sets IP address that the client connected from.
  4039. </summary>
  4040. </member>
  4041. <member name="P:HttpServer.HttpClientContext.RemotePort">
  4042. <summary>
  4043. Gets or sets port that the client connected from.
  4044. </summary>
  4045. </member>
  4046. <member name="E:HttpServer.HttpClientContext.Disconnected">
  4047. <summary>
  4048. The context have been disconnected.
  4049. </summary>
  4050. <remarks>
  4051. Event can be used to clean up a context, or to reuse it.
  4052. </remarks>
  4053. </member>
  4054. <member name="E:HttpServer.HttpClientContext.RequestReceived">
  4055. <summary>
  4056. A request have been received in the context.
  4057. </summary>
  4058. </member>
  4059. <member name="T:HttpServer.Helpers.ResourceManager">
  4060. <summary>Class to handle loading of resource files</summary>
  4061. </member>
  4062. <member name="M:HttpServer.Helpers.ResourceManager.#ctor">
  4063. <summary>
  4064. Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class.
  4065. </summary>
  4066. </member>
  4067. <member name="M:HttpServer.Helpers.ResourceManager.#ctor(HttpServer.ILogWriter)">
  4068. <summary>
  4069. Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class.
  4070. </summary>
  4071. <param name="writer">logger.</param>
  4072. </member>
  4073. <member name="M:HttpServer.Helpers.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)">
  4074. <summary>
  4075. Loads resources from a namespace in the given assembly to an URI
  4076. </summary>
  4077. <param name="toUri">The URI to map the resources to</param>
  4078. <param name="fromAssembly">The assembly in which the resources reside</param>
  4079. <param name="fromNamespace">The namespace from which to load the resources</param>
  4080. <usage>
  4081. <code>
  4082. resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
  4083. </code>
  4084. Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/
  4085. </usage>
  4086. <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns>
  4087. <exception cref="T:System.InvalidOperationException">If a resource has already been mapped to an uri</exception>
  4088. </member>
  4089. <member name="M:HttpServer.Helpers.ResourceManager.GetResourceStream(System.String)">
  4090. <summary>
  4091. Retrieves a stream for the specified resource path if loaded otherwise null
  4092. </summary>
  4093. <param name="path">Path to the resource to retrieve a stream for</param>
  4094. <returns>A stream or null if the resource couldn't be found</returns>
  4095. </member>
  4096. <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String)">
  4097. <summary>
  4098. Fetch all files from the resource that matches the specified arguments.
  4099. </summary>
  4100. <param name="path">The path to the resource to extract</param>
  4101. <returns>
  4102. a list of files if found; or an empty array if no files are found.
  4103. </returns>
  4104. <exception cref="T:System.ArgumentException">Search path must end with an asterisk for finding arbitrary files</exception>
  4105. </member>
  4106. <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String,System.String)">
  4107. <summary>
  4108. Fetch all files from the resource that matches the specified arguments.
  4109. </summary>
  4110. <param name="path">Where the file should reside.</param>
  4111. <param name="filename">Files to check</param>
  4112. <returns>
  4113. a list of files if found; or an empty array if no files are found.
  4114. </returns>
  4115. </member>
  4116. <member name="M:HttpServer.Helpers.ResourceManager.ContainsResource(System.String)">
  4117. <summary>
  4118. Returns whether or not the loader has an instance of the file requested
  4119. </summary>
  4120. <param name="filename">The name of the template/file</param>
  4121. <returns>True if the loader can provide the file</returns>
  4122. </member>
  4123. <member name="T:HttpServer.Check">
  4124. <summary>
  4125. Small design by contract implementation.
  4126. </summary>
  4127. </member>
  4128. <member name="M:HttpServer.Check.NotEmpty(System.String,System.String)">
  4129. <summary>
  4130. Check whether a parameter is empty.
  4131. </summary>
  4132. <param name="value">Parameter value</param>
  4133. <param name="parameterOrErrorMessage">Parameter name, or error description.</param>
  4134. <exception cref="T:System.ArgumentException">value is empty.</exception>
  4135. </member>
  4136. <member name="M:HttpServer.Check.Require(System.Object,System.String)">
  4137. <summary>
  4138. Checks whether a parameter is null.
  4139. </summary>
  4140. <param name="value">Parameter value</param>
  4141. <param name="parameterOrErrorMessage">Parameter name, or error description.</param>
  4142. <exception cref="T:System.ArgumentNullException">value is null.</exception>
  4143. </member>
  4144. <member name="M:HttpServer.Check.Min(System.Int32,System.Object,System.String)">
  4145. <summary>
  4146. Checks whether a parameter is null.
  4147. </summary>
  4148. <param name="minValue"></param>
  4149. <param name="value">Parameter value</param>
  4150. <param name="parameterOrErrorMessage">Parameter name, or error description.</param>
  4151. <exception cref="T:System.ArgumentException">value is null.</exception>
  4152. </member>
  4153. <member name="T:HttpServer.ResponseCookie">
  4154. <summary>
  4155. cookie being sent back to the browser.
  4156. </summary>
  4157. <seealso cref="T:HttpServer.ResponseCookie"/>
  4158. </member>
  4159. <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)">
  4160. <summary>
  4161. Constructor.
  4162. </summary>
  4163. <param name="id">cookie identifier</param>
  4164. <param name="content">cookie content</param>
  4165. <param name="expiresAt">cookie expiration date. Use DateTime.MinValue for session cookie.</param>
  4166. <exception cref="T:System.ArgumentNullException">id or content is null</exception>
  4167. <exception cref="T:System.ArgumentException">id is empty</exception>
  4168. </member>
  4169. <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)">
  4170. <summary>
  4171. Create a new cookie
  4172. </summary>
  4173. <param name="name">name identifying the cookie</param>
  4174. <param name="value">cookie value</param>
  4175. <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param>
  4176. <param name="path">Path to where the cookie is valid</param>
  4177. <param name="domain">Domain that the cookie is valid for.</param>
  4178. </member>
  4179. <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)">
  4180. <summary>
  4181. Create a new cookie
  4182. </summary>
  4183. <param name="cookie">Name and value will be used</param>
  4184. <param name="expires">when the cookie expires.</param>
  4185. </member>
  4186. <member name="M:HttpServer.ResponseCookie.ToString">
  4187. <summary>
  4188. Gets the cookie HTML representation.
  4189. </summary>
  4190. <returns>cookie string</returns>
  4191. </member>
  4192. <member name="P:HttpServer.ResponseCookie.Expires">
  4193. <summary>
  4194. When the cookie expires.
  4195. DateTime.MinValue means that the cookie expires when the session do so.
  4196. </summary>
  4197. </member>
  4198. <member name="P:HttpServer.ResponseCookie.Path">
  4199. <summary>
  4200. Cookie is only valid under this path.
  4201. </summary>
  4202. </member>
  4203. <member name="T:HttpServer.Parser.RequestLineEventArgs">
  4204. <summary>
  4205. Used when the request line have been successfully parsed.
  4206. </summary>
  4207. </member>
  4208. <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)">
  4209. <summary>
  4210. Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class.
  4211. </summary>
  4212. <param name="httpMethod">The HTTP method.</param>
  4213. <param name="uriPath">The URI path.</param>
  4214. <param name="httpVersion">The HTTP version.</param>
  4215. </member>
  4216. <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor">
  4217. <summary>
  4218. Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class.
  4219. </summary>
  4220. </member>
  4221. <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpMethod">
  4222. <summary>
  4223. Gets or sets http method.
  4224. </summary>
  4225. <remarks>
  4226. Should be one of the methods declared in <see cref="T:HttpServer.Method"/>.
  4227. </remarks>
  4228. </member>
  4229. <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpVersion">
  4230. <summary>
  4231. Gets or sets the version of the HTTP protocol that the client want to use.
  4232. </summary>
  4233. </member>
  4234. <member name="P:HttpServer.Parser.RequestLineEventArgs.UriPath">
  4235. <summary>
  4236. Gets or sets requested URI path.
  4237. </summary>
  4238. </member>
  4239. <member name="T:HttpServer.RealmHandler">
  4240. <summary>
  4241. Delegate used to find a realm/domain.
  4242. </summary>
  4243. <param name="domain"></param>
  4244. <returns></returns>
  4245. <remarks>
  4246. Realms are used during HTTP Authentication
  4247. </remarks>
  4248. <seealso cref="T:HttpServer.Authentication.AuthenticationModule"/>
  4249. <seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/>
  4250. </member>
  4251. <member name="T:HttpServer.HttpServer">
  4252. <summary>
  4253. A complete HTTP server, you need to add a module to it to be able to handle incoming requests.
  4254. </summary>
  4255. <example>
  4256. <code>
  4257. // this small example will add two web site modules, thus handling
  4258. // two different sites. In reality you should add Controller modules or something
  4259. // two the website modules to be able to handle different requests.
  4260. HttpServer server = new HttpServer();
  4261. server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB"));
  4262. server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX"));
  4263. // start regular http
  4264. server.Start(IPAddress.Any, 80);
  4265. // start https
  4266. server.Start(IPAddress.Any, 443, myCertificate);
  4267. </code>
  4268. </example>
  4269. <seealso cref="T:HttpServer.HttpModules.HttpModule"/>
  4270. <seealso cref="T:HttpServer.HttpModules.FileModule"/>
  4271. <seealso cref="T:HttpServer.HttpListener"/>
  4272. </member>
  4273. <member name="M:HttpServer.HttpServer.#ctor(HttpServer.IComponentProvider)">
  4274. <summary>
  4275. Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
  4276. </summary>
  4277. <param name="provider">Used to get all components used in the server..</param>
  4278. </member>
  4279. <member name="M:HttpServer.HttpServer.#ctor">
  4280. <summary>
  4281. Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
  4282. </summary>
  4283. </member>
  4284. <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)">
  4285. <summary>
  4286. Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
  4287. </summary>
  4288. <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
  4289. <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
  4290. <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
  4291. </member>
  4292. <member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)">
  4293. <summary>
  4294. Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
  4295. </summary>
  4296. <param name="sessionStore">A session store is used to save and retrieve sessions</param>
  4297. <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
  4298. </member>
  4299. <member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)">
  4300. <summary>
  4301. Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
  4302. </summary>
  4303. <param name="logWriter">The log writer.</param>
  4304. <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
  4305. </member>
  4306. <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)">
  4307. <summary>
  4308. Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
  4309. </summary>
  4310. <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
  4311. <param name="logWriter">The log writer.</param>
  4312. <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
  4313. <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
  4314. <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
  4315. </member>
  4316. <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)">
  4317. <summary>
  4318. Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
  4319. </summary>
  4320. <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
  4321. <param name="sessionStore">A session store is used to save and retrieve sessions</param>
  4322. <param name="logWriter">The log writer.</param>
  4323. <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
  4324. <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
  4325. <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
  4326. <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
  4327. </member>
  4328. <member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.IRule)">
  4329. <summary>
  4330. Adds the specified rule.
  4331. </summary>
  4332. <param name="rule">The rule.</param>
  4333. </member>
  4334. <member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)">
  4335. <summary>
  4336. Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server.
  4337. </summary>
  4338. <param name="module">mode to add</param>
  4339. </member>
  4340. <member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)">
  4341. <summary>
  4342. Decodes the request body.
  4343. </summary>
  4344. <param name="request">The request.</param>
  4345. <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to decode form data.</exception>
  4346. </member>
  4347. <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)">
  4348. <summary>
  4349. Generate a HTTP error page (that will be added to the response body).
  4350. response status code is also set.
  4351. </summary>
  4352. <param name="response">Response that the page will be generated in.</param>
  4353. <param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param>
  4354. <param name="body">response body contents.</param>
  4355. </member>
  4356. <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)">
  4357. <summary>
  4358. Generate a HTTP error page (that will be added to the response body).
  4359. response status code is also set.
  4360. </summary>
  4361. <param name="response">Response that the page will be generated in.</param>
  4362. <param name="err">exception.</param>
  4363. </member>
  4364. <member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)">
  4365. <summary>
  4366. Realms are used by the <see cref="T:HttpServer.Authentication.AuthenticationModule"/>s.
  4367. </summary>
  4368. <param name="request">HTTP request</param>
  4369. <returns>domain/realm.</returns>
  4370. </member>
  4371. <member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
  4372. <summary>
  4373. Process an incoming request.
  4374. </summary>
  4375. <param name="context">connection to client</param>
  4376. <param name="request">request information</param>
  4377. <param name="response">response that should be filled</param>
  4378. <param name="session">session information</param>
  4379. </member>
  4380. <member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)">
  4381. <summary>
  4382. Can be overloaded to implement stuff when a client have been connected.
  4383. </summary>
  4384. <remarks>
  4385. Default implementation does nothing.
  4386. </remarks>
  4387. <param name="client">client that disconnected</param>
  4388. <param name="error">disconnect reason</param>
  4389. </member>
  4390. <member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
  4391. <summary>
  4392. Handle authentication
  4393. </summary>
  4394. <param name="request"></param>
  4395. <param name="response"></param>
  4396. <param name="session"></param>
  4397. <returns>true if request can be handled; false if not.</returns>
  4398. <exception cref="T:HttpServer.Exceptions.BadRequestException">Invalid authorization header</exception>
  4399. </member>
  4400. <member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthenticationModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
  4401. <summary>
  4402. Will request authentication.
  4403. </summary>
  4404. <remarks>
  4405. Sends respond to client, nothing else can be done with the response after this.
  4406. </remarks>
  4407. <param name="mod"></param>
  4408. <param name="request"></param>
  4409. <param name="response"></param>
  4410. </member>
  4411. <member name="M:HttpServer.HttpServer.OnRequest(System.Object,HttpServer.RequestEventArgs)">
  4412. <summary>
  4413. Received from a <see cref="T:HttpServer.IHttpClientContext"/> when a request have been parsed successfully.
  4414. </summary>
  4415. <param name="source"><see cref="T:HttpServer.IHttpClientContext"/> that received the request.</param>
  4416. <param name="args">The request.</param>
  4417. </member>
  4418. <member name="M:HttpServer.HttpServer.ProcessRequestWrapper(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
  4419. <summary>
  4420. To be able to track request count.
  4421. </summary>
  4422. <param name="context"></param>
  4423. <param name="request"></param>
  4424. </member>
  4425. <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)">
  4426. <summary>
  4427. Start the web server using regular HTTP.
  4428. </summary>
  4429. <param name="address">IP Address to listen on, use <c>IpAddress.Any </c>to accept connections on all IP addresses/network cards.</param>
  4430. <param name="port">Port to listen on. 80 can be a good idea =)</param>
  4431. <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
  4432. <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
  4433. </member>
  4434. <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
  4435. <summary>
  4436. Accept secure connections.
  4437. </summary>
  4438. <param name="address">IP Address to listen on, use <see cref="F:System.Net.IPAddress.Any"/> to accept connections on all IP Addresses / network cards.</param>
  4439. <param name="port">Port to listen on. 80 can be a good idea =)</param>
  4440. <param name="certificate">Certificate to use</param>
  4441. <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
  4442. <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
  4443. </member>
  4444. <member name="M:HttpServer.HttpServer.Stop">
  4445. <summary>
  4446. shut down the server and listeners
  4447. </summary>
  4448. </member>
  4449. <member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)">
  4450. <summary>
  4451. write an entry to the log file
  4452. </summary>
  4453. <param name="prio">importance of the message</param>
  4454. <param name="message">log message</param>
  4455. </member>
  4456. <member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)">
  4457. <summary>
  4458. write an entry to the log file
  4459. </summary>
  4460. <param name="source">object that wrote the message</param>
  4461. <param name="prio">importance of the message</param>
  4462. <param name="message">log message</param>
  4463. </member>
  4464. <member name="P:HttpServer.HttpServer.Current">
  4465. <summary>
  4466. Server that is handling the current request.
  4467. </summary>
  4468. <remarks>
  4469. Will be set as soon as a request arrives to the <see cref="T:HttpServer.HttpServer"/> object.
  4470. </remarks>
  4471. </member>
  4472. <member name="P:HttpServer.HttpServer.AuthenticationModules">
  4473. <summary>
  4474. Modules used for authentication. The module that is is added first is used as
  4475. the default authentication module.
  4476. </summary>
  4477. <remarks>Use the corresponding property
  4478. in the <see cref="T:HttpServer.HttpModules.WebSiteModule"/> if you are using multiple websites.</remarks>
  4479. </member>
  4480. <member name="P:HttpServer.HttpServer.FormDecoderProviders">
  4481. <summary>
  4482. Form decoder providers are used to decode request body (which normally contains form data).
  4483. </summary>
  4484. </member>
  4485. <member name="P:HttpServer.HttpServer.ServerName">
  4486. <summary>
  4487. Server name sent in HTTP responses.
  4488. </summary>
  4489. <remarks>
  4490. Do NOT include version in name, since it makes it
  4491. easier for hackers.
  4492. </remarks>
  4493. </member>
  4494. <member name="P:HttpServer.HttpServer.SessionCookieName">
  4495. <summary>
  4496. Name of cookie where session id is stored.
  4497. </summary>
  4498. </member>
  4499. <member name="P:HttpServer.HttpServer.LogWriter">
  4500. <summary>
  4501. Specified where logging should go.
  4502. </summary>
  4503. <seealso cref="T:HttpServer.NullLogWriter"/>
  4504. <seealso cref="T:HttpServer.ConsoleLogWriter"/>
  4505. <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
  4506. </member>
  4507. <member name="P:HttpServer.HttpServer.BackLog">
  4508. <summary>
  4509. Number of connections that can wait to be accepted by the server.
  4510. </summary>
  4511. <remarks>Default is 10.</remarks>
  4512. </member>
  4513. <member name="P:HttpServer.HttpServer.MaxRequestCount">
  4514. <summary>
  4515. Gets or sets maximum number of allowed simultaneous requests.
  4516. </summary>
  4517. <remarks>
  4518. <para>
  4519. This property is useful in busy systems. The HTTP server
  4520. will start queuing new requests if this limit is hit, instead
  4521. of trying to process all incoming requests directly.
  4522. </para>
  4523. <para>
  4524. The default number if allowed simultaneous requests are 10.
  4525. </para>
  4526. </remarks>
  4527. </member>
  4528. <member name="P:HttpServer.HttpServer.MaxQueueSize">
  4529. <summary>
  4530. Gets or sets maximum number of requests queuing to be handled.
  4531. </summary>
  4532. <remarks>
  4533. <para>
  4534. The WebServer will start turning requests away if response code
  4535. <see cref="F:System.Net.HttpStatusCode.ServiceUnavailable"/> to indicate that the server
  4536. is too busy to be able to handle the request.
  4537. </para>
  4538. </remarks>
  4539. </member>
  4540. <member name="E:HttpServer.HttpServer.RealmWanted">
  4541. <summary>
  4542. Realms are used during HTTP authentication.
  4543. Default realm is same as server name.
  4544. </summary>
  4545. </member>
  4546. <member name="E:HttpServer.HttpServer.ExceptionThrown">
  4547. <summary>
  4548. Let's to receive unhandled exceptions from the threads.
  4549. </summary>
  4550. <remarks>
  4551. Exceptions will be thrown during debug mode if this event is not used,
  4552. exceptions will be printed to console and suppressed during release mode.
  4553. </remarks>
  4554. </member>
  4555. <member name="T:HttpServer.HttpModules.ResourceFileModule">
  4556. <summary>
  4557. Serves files that are stored in embedded resources.
  4558. </summary>
  4559. </member>
  4560. <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor">
  4561. <summary>
  4562. Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class.
  4563. Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later
  4564. through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired.
  4565. </summary>
  4566. </member>
  4567. <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor(HttpServer.ILogWriter)">
  4568. <summary>
  4569. Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class.
  4570. Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later
  4571. through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired.
  4572. </summary>
  4573. <param name="logWriter">The log writer to use when logging events</param>
  4574. </member>
  4575. <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes">
  4576. <summary>
  4577. Mimtypes that this class can handle per default
  4578. </summary>
  4579. </member>
  4580. <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)">
  4581. <summary>
  4582. Loads resources from a namespace in the given assembly to an uri
  4583. </summary>
  4584. <param name="toUri">The uri to map the resources to</param>
  4585. <param name="fromAssembly">The assembly in which the resources reside</param>
  4586. <param name="fromNamespace">The namespace from which to load the resources</param>
  4587. <usage>
  4588. resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
  4589. will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css
  4590. </usage>
  4591. <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns>
  4592. </member>
  4593. <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)">
  4594. <summary>
  4595. Returns true if the module can handle the request
  4596. </summary>
  4597. </member>
  4598. <member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
  4599. <summary>
  4600. Method that process the url
  4601. </summary>
  4602. <param name="request">Information sent by the browser about the request</param>
  4603. <param name="response">Information that is being sent back to the client.</param>
  4604. <param name="session">Session used to </param>
  4605. <returns>true if this module handled the request.</returns>
  4606. </member>
  4607. <member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes">
  4608. <summary>
  4609. List with all mime-type that are allowed.
  4610. </summary>
  4611. <remarks>All other mime types will result in a Forbidden http status code.</remarks>
  4612. </member>
  4613. <member name="T:HttpServer.Helpers.ResourceInfo">
  4614. <summary>
  4615. Container to bind resource names to assemblies
  4616. </summary>
  4617. </member>
  4618. <member name="M:HttpServer.Helpers.ResourceInfo.#ctor(System.String,System.String,System.Reflection.Assembly)">
  4619. <summary>
  4620. Instantiates an instance of <see cref="T:HttpServer.Helpers.ResourceInfo"/>
  4621. </summary>
  4622. <param name="uri">The dot seperated uri the resource maps to</param>
  4623. <param name="resourceName">The full resource name</param>
  4624. <param name="assembly">The assembly the resource exists in</param>
  4625. </member>
  4626. <member name="M:HttpServer.Helpers.ResourceInfo.GetStream">
  4627. <summary>
  4628. Retrieves a stream to the resource
  4629. </summary>
  4630. <returns>Null if the resource couldn't be located somehow</returns>
  4631. </member>
  4632. <member name="P:HttpServer.Helpers.ResourceInfo.Assembly">
  4633. <summary>
  4634. Retrieves the assembly the resource resides in
  4635. </summary>
  4636. </member>
  4637. <member name="P:HttpServer.Helpers.ResourceInfo.Uri">
  4638. <summary>
  4639. Retrieves the full name/path of the assembly
  4640. </summary>
  4641. </member>
  4642. <member name="P:HttpServer.Helpers.ResourceInfo.Extension">
  4643. <summary>
  4644. Retrieves the extension of the resource
  4645. </summary>
  4646. </member>
  4647. <member name="P:HttpServer.Helpers.ResourceInfo.ExtensionLessUri">
  4648. <summary>Returns the Uri without extension</summary>
  4649. </member>
  4650. <member name="P:HttpServer.Helpers.ResourceInfo.ResourceName">
  4651. <summary>Retrieves the full path name to the resource file</summary>
  4652. </member>
  4653. <member name="T:HttpServer.Helpers.FormHelper">
  4654. <summary>
  4655. Helpers making it easier to work with forms.
  4656. </summary>
  4657. <seealso cref="T:HttpServer.Helpers.ObjectForm"/>
  4658. </member>
  4659. <member name="F:HttpServer.Helpers.FormHelper.JSImplementation">
  4660. <summary>
  4661. Used to let the website use different JavaScript libraries.
  4662. Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
  4663. </summary>
  4664. </member>
  4665. <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])">
  4666. <summary>
  4667. Create a &lt;form&gt; tag.
  4668. </summary>
  4669. <param name="id">name of form</param>
  4670. <param name="action">action to invoke on submit</param>
  4671. <param name="isAjax">form should be posted as Ajax</param>
  4672. <returns>HTML code</returns>
  4673. <example>
  4674. <code>
  4675. // without options
  4676. WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
  4677. // with options
  4678. WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm");
  4679. </code>
  4680. </example>
  4681. <param name="options">HTML attributes or JavaScript options.</param>
  4682. <remarks>Method will ALWAYS be POST.</remarks>
  4683. <exception cref="T:System.ArgumentException">options must consist of name, value, name, value</exception>
  4684. </member>
  4685. <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
  4686. <summary>
  4687. Creates a select list with the values in a collection.
  4688. </summary>
  4689. <param name="name">Name of the SELECT-tag</param>
  4690. <param name="collection">collection used to generate options.</param>
  4691. <param name="getIdTitle">delegate used to return id and title from objects.</param>
  4692. <param name="selectedValue">value that should be marked as selected.</param>
  4693. <param name="firstEmpty">First row should contain an empty value.</param>
  4694. <returns>string containing a SELECT-tag.</returns>
  4695. <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
  4696. </member>
  4697. <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
  4698. <summary>
  4699. Creates a select list with the values in a collection.
  4700. </summary>
  4701. <param name="name">Name of the SELECT-tag</param>
  4702. <param name="id">Id of the SELECT-tag</param>
  4703. <param name="collection">collection used to generate options.</param>
  4704. <param name="getIdTitle">delegate used to return id and title from objects.</param>
  4705. <param name="selectedValue">value that should be marked as selected.</param>
  4706. <param name="firstEmpty">First row should contain an empty value.</param>
  4707. <returns>string containing a SELECT-tag.</returns>
  4708. <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
  4709. <example>
  4710. <code>
  4711. // Class that is going to be used in a SELECT-tag.
  4712. public class User
  4713. {
  4714. private readonly string _realName;
  4715. private readonly int _id;
  4716. public User(int id, string realName)
  4717. {
  4718. _id = id;
  4719. _realName = realName;
  4720. }
  4721. public string RealName
  4722. {
  4723. get { return _realName; }
  4724. }
  4725. public int Id
  4726. {
  4727. get { return _id; }
  4728. }
  4729. }
  4730. // Using an inline delegate to generate the select list
  4731. public void UserInlineDelegate()
  4732. {
  4733. List&lt;User&gt; items = new List&lt;User&gt;();
  4734. items.Add(new User(1, "adam"));
  4735. items.Add(new User(2, "bertial"));
  4736. items.Add(new User(3, "david"));
  4737. string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
  4738. {
  4739. User user = (User)o;
  4740. id = user.Id;
  4741. value = user.RealName;
  4742. }, 2, true);
  4743. }
  4744. // Using an method as delegate to generate the select list.
  4745. public void UseExternalDelegate()
  4746. {
  4747. List&lt;User&gt; items = new List&lt;User&gt;();
  4748. items.Add(new User(1, "adam"));
  4749. items.Add(new User(2, "bertial"));
  4750. items.Add(new User(3, "david"));
  4751. string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
  4752. }
  4753. // delegate returning id and title
  4754. public static void UserOptions(object o, out object id, out object title)
  4755. {
  4756. User user = (User)o;
  4757. id = user.Id;
  4758. value = user.RealName;
  4759. }
  4760. </code>
  4761. </example>
  4762. <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception>
  4763. </member>
  4764. <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])">
  4765. <summary>
  4766. Creates a select list with the values in a collection.
  4767. </summary>
  4768. <param name="name">Name of the SELECT-tag</param>
  4769. <param name="id">Id of the SELECT-tag</param>
  4770. <param name="collection">collection used to generate options.</param>
  4771. <param name="getIdTitle">delegate used to return id and title from objects.</param>
  4772. <param name="selectedValue">value that should be marked as selected.</param>
  4773. <param name="firstEmpty">First row should contain an empty value.</param>
  4774. <param name="htmlAttributes">name, value collection of extra HTML attributes.</param>
  4775. <returns>string containing a SELECT-tag.</returns>
  4776. <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
  4777. <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception>
  4778. <exception cref="T:System.ArgumentException">Invalid HTML attribute list.</exception>
  4779. </member>
  4780. <member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
  4781. <summary>
  4782. Generate a list of HTML options
  4783. </summary>
  4784. <param name="collection">collection used to generate options.</param>
  4785. <param name="getIdTitle">delegate used to return id and title from objects.</param>
  4786. <param name="selectedValue">value that should be marked as selected.</param>
  4787. <param name="firstEmpty">First row should contain an empty value.</param>
  4788. <returns></returns>
  4789. <exception cref="T:System.ArgumentNullException"><c>collection</c> or <c>getIdTitle</c> is null.</exception>
  4790. </member>
  4791. <member name="M:HttpServer.Helpers.FormHelper.Options(System.Text.StringBuilder,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
  4792. <exception cref="T:System.ArgumentNullException"><c>sb</c> is null.</exception>
  4793. </member>
  4794. <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])">
  4795. <summary>
  4796. Creates a check box.
  4797. </summary>
  4798. <param name="name">element name</param>
  4799. <param name="value">element value</param>
  4800. <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
  4801. type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
  4802. the box is checked or not. </param>
  4803. <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
  4804. <returns>a generated radio button</returns>
  4805. </member>
  4806. <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])">
  4807. <summary>
  4808. Creates a check box.
  4809. </summary>
  4810. <param name="name">element name</param>
  4811. <param name="id">element id</param>
  4812. <param name="value">element value</param>
  4813. <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
  4814. type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
  4815. the box is checked or not. </param>
  4816. <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
  4817. <returns>a generated radio button</returns>
  4818. <remarks>
  4819. value in your business object. (check box will be selected if it matches the element value)
  4820. </remarks>
  4821. </member>
  4822. <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])">
  4823. <summary>
  4824. Creates a check box.
  4825. </summary>
  4826. <param name="name">element name</param>
  4827. <param name="id">element id</param>
  4828. <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
  4829. type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
  4830. the box is checked or not. </param>
  4831. <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
  4832. <returns>a generated radio button</returns>
  4833. <remarks>will set value to "1".</remarks>
  4834. </member>
  4835. <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])">
  4836. <summary>
  4837. Creates a RadioButton.
  4838. </summary>
  4839. <param name="name">element name</param>
  4840. <param name="value">element value</param>
  4841. <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the
  4842. type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
  4843. the box is checked or not. </param>
  4844. <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
  4845. <returns>a generated radio button</returns>
  4846. </member>
  4847. <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])">
  4848. <summary>
  4849. Creates a RadioButton.
  4850. </summary>
  4851. <param name="name">element name</param>
  4852. <param name="id">element id</param>
  4853. <param name="value">element value</param>
  4854. <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the
  4855. type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
  4856. the box is checked or not. </param>
  4857. <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
  4858. <returns>a generated radio button</returns>
  4859. </member>
  4860. <member name="M:HttpServer.Helpers.FormHelper.End">
  4861. <summary>
  4862. form close tag
  4863. </summary>
  4864. <returns></returns>
  4865. </member>
  4866. <member name="M:HttpServer.ComponentProvider.AddInstance``1(System.Object)">
  4867. <summary>
  4868. Add a component instance
  4869. </summary>
  4870. <typeparam name="T">Interface type</typeparam>
  4871. <param name="instance">Instance to add</param>
  4872. </member>
  4873. <member name="M:HttpServer.ComponentProvider.Get``1">
  4874. <summary>
  4875. Get a component.
  4876. </summary>
  4877. <typeparam name="T">Interface type</typeparam>
  4878. <returns>Component if registered, otherwise null.</returns>
  4879. <remarks>
  4880. Component will get created if needed.
  4881. </remarks>
  4882. </member>
  4883. <member name="M:HttpServer.ComponentProvider.Create(HttpServer.ComponentProvider.TypeInformation)">
  4884. <exception cref="T:System.InvalidOperationException">If instance cannot be created.</exception>
  4885. </member>
  4886. <member name="M:HttpServer.ComponentProvider.Contains(System.Type)">
  4887. <summary>
  4888. Checks if the specified component interface have been added.
  4889. </summary>
  4890. <param name="interfaceType"></param>
  4891. <returns>true if found; otherwise false.</returns>
  4892. </member>
  4893. <member name="M:HttpServer.ComponentProvider.Add``2">
  4894. <summary>
  4895. Add a component.
  4896. </summary>
  4897. <typeparam name="InterfaceType">Type being requested.</typeparam>
  4898. <typeparam name="InstanceType">Type being created.</typeparam>
  4899. <exception cref="T:System.InvalidOperationException">Type have already been mapped.</exception>
  4900. </member>
  4901. <member name="T:HttpServer.Sessions.MemorySessionStore">
  4902. <summary>
  4903. Session store using memory for each session.
  4904. </summary>
  4905. </member>
  4906. <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor">
  4907. <summary>
  4908. Initializes the class setting the expirationtimer to clean the session every minute
  4909. </summary>
  4910. </member>
  4911. <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)">
  4912. <summary>
  4913. Delegate for the cleanup timer
  4914. </summary>
  4915. </member>
  4916. <member name="M:HttpServer.Sessions.MemorySessionStore.Create">
  4917. <summary>
  4918. Creates a new http session
  4919. </summary>
  4920. <returns></returns>
  4921. </member>
  4922. <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)">
  4923. <summary>
  4924. Creates a new http session with a specific id
  4925. </summary>
  4926. <param name="id">Id used to identify the new cookie..</param>
  4927. <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
  4928. <remarks>
  4929. Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
  4930. </remarks>
  4931. </member>
  4932. <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)">
  4933. <summary>
  4934. Load an existing session.
  4935. </summary>
  4936. <param name="sessionId"></param>
  4937. <returns></returns>
  4938. </member>
  4939. <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)">
  4940. <summary>
  4941. Save an updated session to the store.
  4942. </summary>
  4943. <param name="session"></param>
  4944. </member>
  4945. <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
  4946. <summary>
  4947. We use the flyweight pattern which reuses small objects
  4948. instead of creating new each time.
  4949. </summary>
  4950. <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param>
  4951. </member>
  4952. <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup">
  4953. <summary>
  4954. Remove expired sessions
  4955. </summary>
  4956. </member>
  4957. <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)">
  4958. <summary>
  4959. Remove a session
  4960. </summary>
  4961. <param name="sessionId">id of the session.</param>
  4962. </member>
  4963. <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)">
  4964. <summary>
  4965. Load a session from the store
  4966. </summary>
  4967. <param name="sessionId"></param>
  4968. <returns>null if session is not found.</returns>
  4969. </member>
  4970. <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime">
  4971. <summary>
  4972. Number of minutes before a session expires.
  4973. Default is 20 minutes.
  4974. </summary>
  4975. </member>
  4976. <member name="T:HttpServer.RequestQueue">
  4977. <summary>
  4978. Used to queue incoming requests.
  4979. </summary>
  4980. </member>
  4981. <member name="M:HttpServer.RequestQueue.#ctor(HttpServer.ProcessRequestHandler)">
  4982. <summary>
  4983. Initializes a new instance of the <see cref="T:HttpServer.RequestQueue"/> class.
  4984. </summary>
  4985. <param name="handler">Called when a request should be processed.</param>
  4986. </member>
  4987. <member name="M:HttpServer.RequestQueue.QueueThread">
  4988. <summary>
  4989. Used to process queued requests.
  4990. </summary>
  4991. </member>
  4992. <member name="P:HttpServer.RequestQueue.MaxRequestCount">
  4993. <summary>
  4994. Gets or sets maximum number of allowed simultaneous requests.
  4995. </summary>
  4996. </member>
  4997. <member name="P:HttpServer.RequestQueue.MaxQueueSize">
  4998. <summary>
  4999. Gets or sets maximum number of requests queuing to be handled.
  5000. </summary>
  5001. </member>
  5002. <member name="P:HttpServer.RequestQueue.CurrentRequestCount">
  5003. <summary>
  5004. Specifies how many requests the HTTP server is currently processing.
  5005. </summary>
  5006. </member>
  5007. <member name="T:HttpServer.RequestQueue.QueueItem">
  5008. <summary>
  5009. Used two queue incoming requests to avoid
  5010. thread starvation.
  5011. </summary>
  5012. </member>
  5013. <member name="T:HttpServer.ProcessRequestHandler">
  5014. <summary>
  5015. Method used to process a queued request
  5016. </summary>
  5017. <param name="context">Context that the request was received from.</param>
  5018. <param name="request">Request to process.</param>
  5019. </member>
  5020. <member name="T:HttpServer.HttpResponse">
  5021. <summary>
  5022. Response that is sent back to the web browser / client.
  5023. </summary>
  5024. <remarks>
  5025. <para>
  5026. A response can be sent if different ways. The easiest one is
  5027. to just fill the Body stream with content, everything else
  5028. will then be taken care of by the framework. The default content-type
  5029. is text/html, you should change it if you send anything else.
  5030. </para><para>
  5031. The second and slightly more complex way is to send the response
  5032. as parts. Start with sending the header using the SendHeaders method and
  5033. then you can send the body using SendBody method, but do not forget
  5034. to set <see cref="P:HttpServer.HttpResponse.ContentType"/> and <see cref="P:HttpServer.HttpResponse.ContentLength"/> before doing so.
  5035. </para>
  5036. </remarks>
  5037. <example>
  5038. <code>
  5039. // Example using response body.
  5040. class MyModule : HttpModule
  5041. {
  5042. public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session)
  5043. {
  5044. StreamWriter writer = new StreamWriter(response.Body);
  5045. writer.WriteLine("Hello dear World!");
  5046. writer.Flush();
  5047. // return true to tell webserver that we've handled the url
  5048. return true;
  5049. }
  5050. }
  5051. </code>
  5052. </example>
  5053. todo: add two examples, using SendHeaders/SendBody and just the Body stream.
  5054. </member>
  5055. <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
  5056. <summary>
  5057. Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class.
  5058. </summary>
  5059. <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param>
  5060. <param name="request">Contains information of what the client want to receive.</param>
  5061. <exception cref="T:System.ArgumentException"><see cref="P:HttpServer.IHttpRequest.HttpVersion"/> cannot be empty.</exception>
  5062. </member>
  5063. <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,System.String,HttpServer.ConnectionType)">
  5064. <summary>
  5065. Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class.
  5066. </summary>
  5067. <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param>
  5068. <param name="httpVersion">Version of HTTP protocol that the client uses.</param>
  5069. <param name="connectionType">Type of HTTP connection used.</param>
  5070. </member>
  5071. <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)">
  5072. <summary>
  5073. Add another header to the document.
  5074. </summary>
  5075. <param name="name">Name of the header, case sensitive, use lower cases.</param>
  5076. <param name="value">Header values can span over multiple lines as long as each line starts with a white space. New line chars should be \r\n</param>
  5077. <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
  5078. <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
  5079. <remarks>Adding any header will override the default ones and those specified by properties.</remarks>
  5080. </member>
  5081. <member name="M:HttpServer.HttpResponse.Send">
  5082. <summary>
  5083. Send headers and body to the browser.
  5084. </summary>
  5085. <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
  5086. </member>
  5087. <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
  5088. <summary>
  5089. Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first.
  5090. </summary>
  5091. <param name="buffer"></param>
  5092. <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
  5093. <see cref="M:HttpServer.HttpResponse.SendHeaders"/>
  5094. <param name="offset">offset of first byte to send</param>
  5095. <param name="count">number of bytes to send.</param>
  5096. <seealso cref="M:HttpServer.HttpResponse.Send"/>
  5097. <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
  5098. <remarks>This method can be used if you want to send body contents without caching them first. This
  5099. is recommended for larger files to keep the memory usage low.</remarks>
  5100. </member>
  5101. <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])">
  5102. <summary>
  5103. Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first.
  5104. </summary>
  5105. <param name="buffer"></param>
  5106. <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
  5107. <see cref="M:HttpServer.HttpResponse.SendHeaders"/>
  5108. <seealso cref="M:HttpServer.HttpResponse.Send"/>
  5109. <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
  5110. <remarks>This method can be used if you want to send body contents without caching them first. This
  5111. is recommended for larger files to keep the memory usage low.</remarks>
  5112. </member>
  5113. <member name="M:HttpServer.HttpResponse.SendHeaders">
  5114. <summary>
  5115. Send headers to the client.
  5116. </summary>
  5117. <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
  5118. <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/>
  5119. <seealso cref="M:HttpServer.HttpResponse.Send"/>
  5120. <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/>
  5121. </member>
  5122. <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)">
  5123. <summary>
  5124. Redirect client to somewhere else using the 302 status code.
  5125. </summary>
  5126. <param name="uri">Destination of the redirect</param>
  5127. <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
  5128. <remarks>You can not do anything more with the request when a redirect have been done. This should be your last
  5129. action.</remarks>
  5130. </member>
  5131. <member name="M:HttpServer.HttpResponse.Redirect(System.String)">
  5132. <summary>
  5133. redirect to somewhere
  5134. </summary>
  5135. <param name="url">where the redirect should go</param>
  5136. <remarks>
  5137. No body are allowed when doing redirects.
  5138. </remarks>
  5139. </member>
  5140. <member name="P:HttpServer.HttpResponse.Body">
  5141. <summary>
  5142. The body stream is used to cache the body contents
  5143. before sending everything to the client. It's the simplest
  5144. way to serve documents.
  5145. </summary>
  5146. </member>
  5147. <member name="P:HttpServer.HttpResponse.Chunked">
  5148. <summary>
  5149. The chunked encoding modifies the body of a message in order to
  5150. transfer it as a series of chunks, each with its own size indicator,
  5151. followed by an OPTIONAL trailer containing entity-header fields. This
  5152. allows dynamically produced content to be transferred along with the
  5153. information necessary for the recipient to verify that it has
  5154. received the full message.
  5155. </summary>
  5156. </member>
  5157. <member name="P:HttpServer.HttpResponse.ProtocolVersion">
  5158. <summary>
  5159. Defines the version of the HTTP Response for applications where it's required
  5160. for this to be forced.
  5161. </summary>
  5162. </member>
  5163. <member name="P:HttpServer.HttpResponse.Connection">
  5164. <summary>
  5165. Kind of connection
  5166. </summary>
  5167. </member>
  5168. <member name="P:HttpServer.HttpResponse.Encoding">
  5169. <summary>
  5170. Encoding to use when sending stuff to the client.
  5171. </summary>
  5172. <remarks>Default is UTF8</remarks>
  5173. </member>
  5174. <member name="P:HttpServer.HttpResponse.KeepAlive">
  5175. <summary>
  5176. Number of seconds to keep connection alive
  5177. </summary>
  5178. <remarks>Only used if Connection property is set to <see cref="F:HttpServer.ConnectionType.KeepAlive"/>.</remarks>
  5179. </member>
  5180. <member name="P:HttpServer.HttpResponse.Status">
  5181. <summary>
  5182. Status code that is sent to the client.
  5183. </summary>
  5184. <remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks>
  5185. </member>
  5186. <member name="P:HttpServer.HttpResponse.Reason">
  5187. <summary>
  5188. Information about why a specific status code was used.
  5189. </summary>
  5190. </member>
  5191. <member name="P:HttpServer.HttpResponse.ContentLength">
  5192. <summary>
  5193. Size of the body. MUST be specified before sending the header,
  5194. unless property Chunked is set to true.
  5195. </summary>
  5196. </member>
  5197. <member name="P:HttpServer.HttpResponse.ContentType">
  5198. <summary>
  5199. Kind of content in the body
  5200. </summary>
  5201. <remarks>Default type is "text/html"</remarks>
  5202. </member>
  5203. <member name="P:HttpServer.HttpResponse.HeadersSent">
  5204. <summary>
  5205. Headers have been sent to the client-
  5206. </summary>
  5207. <remarks>You can not send any additional headers if they have already been sent.</remarks>
  5208. </member>
  5209. <member name="P:HttpServer.HttpResponse.Sent">
  5210. <summary>
  5211. The whole response have been sent.
  5212. </summary>
  5213. </member>
  5214. <member name="P:HttpServer.HttpResponse.Cookies">
  5215. <summary>
  5216. Cookies that should be created/changed.
  5217. </summary>
  5218. </member>
  5219. <member name="T:HttpServer.HttpContextFactory">
  5220. <summary>
  5221. Used to create and reuse contexts.
  5222. </summary>
  5223. </member>
  5224. <member name="T:HttpServer.IHttpContextFactory">
  5225. <summary>
  5226. Used to create <see cref="T:HttpServer.IHttpClientContext"/>es.
  5227. </summary>
  5228. </member>
  5229. <member name="M:HttpServer.IHttpContextFactory.CreateContext(System.Net.Sockets.Socket)">
  5230. <summary>
  5231. Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client.
  5232. </summary>
  5233. <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
  5234. <returns>A creates <see cref="T:HttpServer.IHttpClientContext"/>.</returns>
  5235. </member>
  5236. <member name="M:HttpServer.IHttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
  5237. <summary>
  5238. Create a secure <see cref="T:HttpServer.IHttpClientContext"/>.
  5239. </summary>
  5240. <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
  5241. <param name="certificate">HTTPS certificate to use.</param>
  5242. <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param>
  5243. <returns>A created <see cref="T:HttpServer.IHttpClientContext"/>.</returns>
  5244. </member>
  5245. <member name="E:HttpServer.IHttpContextFactory.RequestReceived">
  5246. <summary>
  5247. A request have been received from one of the contexts.
  5248. </summary>
  5249. </member>
  5250. <member name="M:HttpServer.HttpContextFactory.#ctor(HttpServer.ILogWriter,System.Int32,HttpServer.IRequestParserFactory)">
  5251. <summary>
  5252. Initializes a new instance of the <see cref="T:HttpServer.HttpContextFactory"/> class.
  5253. </summary>
  5254. <param name="writer">The writer.</param>
  5255. <param name="bufferSize">Amount of bytes to read from the incoming socket stream.</param>
  5256. <param name="factory">Used to create a request parser.</param>
  5257. </member>
  5258. <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)">
  5259. <summary>
  5260. Create a new context.
  5261. </summary>
  5262. <param name="isSecured">true if socket is running HTTPS.</param>
  5263. <param name="endPoint">Client that connected</param>
  5264. <param name="stream">Network/SSL stream.</param>
  5265. <returns>A context.</returns>
  5266. </member>
  5267. <member name="M:HttpServer.HttpContextFactory.CreateNewContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)">
  5268. <summary>
  5269. Create a new context.
  5270. </summary>
  5271. <param name="isSecured">true if HTTPS is used.</param>
  5272. <param name="endPoint">Remote client</param>
  5273. <param name="stream">Network stream, <see cref="T:HttpServer.HttpClientContext"/> uses <see cref="T:HttpServer.ReusableSocketNetworkStream"/>.</param>
  5274. <returns>A new context (always).</returns>
  5275. </member>
  5276. <member name="M:HttpServer.HttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
  5277. <summary>
  5278. Create a secure <see cref="T:HttpServer.IHttpClientContext"/>.
  5279. </summary>
  5280. <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
  5281. <param name="certificate">HTTPS certificate to use.</param>
  5282. <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param>
  5283. <returns>
  5284. A created <see cref="T:HttpServer.IHttpClientContext"/>.
  5285. </returns>
  5286. </member>
  5287. <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Net.Sockets.Socket)">
  5288. <summary>
  5289. Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client.
  5290. </summary>
  5291. <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
  5292. <returns>
  5293. A creates <see cref="T:HttpServer.IHttpClientContext"/>.
  5294. </returns>
  5295. </member>
  5296. <member name="P:HttpServer.HttpContextFactory.UseTraceLogs">
  5297. <summary>
  5298. True if detailed trace logs should be written.
  5299. </summary>
  5300. </member>
  5301. <member name="E:HttpServer.HttpContextFactory.RequestReceived">
  5302. <summary>
  5303. A request have been received from one of the contexts.
  5304. </summary>
  5305. </member>
  5306. <member name="T:HttpServer.ReusableSocketNetworkStream">
  5307. <summary>
  5308. Custom network stream to mark sockets as reusable when disposing the stream.
  5309. </summary>
  5310. </member>
  5311. <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket)">
  5312. <summary>
  5313. Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" />.
  5314. </summary>
  5315. <param name="socket">
  5316. The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
  5317. </param>
  5318. <exception cref="T:System.ArgumentNullException">
  5319. The <paramref name="socket" /> parameter is null.
  5320. </exception>
  5321. <exception cref="T:System.IO.IOException">
  5322. The <paramref name="socket" /> parameter is not connected.
  5323. -or-
  5324. The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
  5325. -or-
  5326. The <paramref name="socket" /> parameter is in a nonblocking state.
  5327. </exception>
  5328. </member>
  5329. <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.Boolean)">
  5330. <summary>
  5331. Initializes a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified <see cref="T:System.Net.Sockets.Socket" /> ownership.
  5332. </summary>
  5333. <param name="socket">
  5334. The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
  5335. </param>
  5336. <param name="ownsSocket">
  5337. Set to true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false.
  5338. </param>
  5339. <exception cref="T:System.ArgumentNullException">
  5340. The <paramref name="socket" /> parameter is null.
  5341. </exception>
  5342. <exception cref="T:System.IO.IOException">
  5343. The <paramref name="socket" /> parameter is not connected.
  5344. -or-
  5345. the value of the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
  5346. -or-
  5347. the <paramref name="socket" /> parameter is in a nonblocking state.
  5348. </exception>
  5349. </member>
  5350. <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess)">
  5351. <summary>
  5352. Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights.
  5353. </summary>
  5354. <param name="socket">
  5355. The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
  5356. </param>
  5357. <param name="access">
  5358. A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specify the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />.
  5359. </param>
  5360. <exception cref="T:System.ArgumentNullException">
  5361. The <paramref name="socket" /> parameter is null.
  5362. </exception>
  5363. <exception cref="T:System.IO.IOException">
  5364. The <paramref name="socket" /> parameter is not connected.
  5365. -or-
  5366. the <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
  5367. -or-
  5368. the <paramref name="socket" /> parameter is in a nonblocking state.
  5369. </exception>
  5370. </member>
  5371. <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean)">
  5372. <summary>
  5373. Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" /> with the specified access rights and the specified <see cref="T:System.Net.Sockets.Socket" /> ownership.
  5374. </summary>
  5375. <param name="socket">
  5376. The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
  5377. </param>
  5378. <param name="access">
  5379. A bitwise combination of the <see cref="T:System.IO.FileAccess" /> values that specifies the type of access given to the <see cref="T:System.Net.Sockets.NetworkStream" /> over the provided <see cref="T:System.Net.Sockets.Socket" />.
  5380. </param>
  5381. <param name="ownsSocket">
  5382. Set to true to indicate that the <see cref="T:System.Net.Sockets.NetworkStream" /> will take ownership of the <see cref="T:System.Net.Sockets.Socket" />; otherwise, false.
  5383. </param>
  5384. <exception cref="T:System.ArgumentNullException">
  5385. The <paramref name="socket" /> parameter is null.
  5386. </exception>
  5387. <exception cref="T:System.IO.IOException">
  5388. The <paramref name="socket" /> parameter is not connected.
  5389. -or-
  5390. The <see cref="P:System.Net.Sockets.Socket.SocketType" /> property of the <paramref name="socket" /> parameter is not <see cref="F:System.Net.Sockets.SocketType.Stream" />.
  5391. -or-
  5392. The <paramref name="socket" /> parameter is in a nonblocking state.
  5393. </exception>
  5394. </member>
  5395. <member name="M:HttpServer.ReusableSocketNetworkStream.Close">
  5396. <summary>
  5397. Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream.
  5398. </summary>
  5399. </member>
  5400. <member name="M:HttpServer.ReusableSocketNetworkStream.Dispose(System.Boolean)">
  5401. <summary>
  5402. Releases the unmanaged resources used by the <see cref="T:System.Net.Sockets.NetworkStream"/> and optionally releases the managed resources.
  5403. </summary>
  5404. <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
  5405. </member>
  5406. </members>
  5407. </doc>