HttpServer_OpenSim.xml 281 KB

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