123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574 |
- <?xml version="1.0"?>
- <doc>
- <assembly>
- <name>HttpServer_OpenSim</name>
- </assembly>
- <members>
- <member name="T:HttpServer.Authentication.AuthenticationHandler">
- <summary>
- Delegate used to let authentication modules authenticate the user name and password.
- </summary>
- <param name="realm">Realm that the user want to authenticate in</param>
- <param name="userName">User name specified by client</param>
- <param name="token">Can either be user password or implementation specific token.</param>
- <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>
- <exception cref="T:HttpServer.Exceptions.ForbiddenException">throw forbidden exception if too many attempts have been made.</exception>
- <remarks>
- <para>
- Use <see cref="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1"/> to specify that the token is a HA1 token. (MD5 generated
- string from realm, user name and password); Md5String(userName + ":" + realm + ":" + password);
- </para>
- </remarks>
- </member>
- <member name="T:HttpServer.Authentication.AuthenticationRequiredHandler">
- <summary>
- Let's you decide on a system level if authentication is required.
- </summary>
- <param name="request">HTTP request from client</param>
- <returns>true if user should be authenticated.</returns>
- <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> if no more attempts are allowed.</remarks>
- <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
- </member>
- <member name="T:HttpServer.Authentication.AuthenticationModule">
- <summary>
- Authentication modules are used to implement different
- kind of HTTP authentication.
- </summary>
- </member>
- <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class.
- </summary>
- <param name="authenticator">Delegate used to provide information used during authentication.</param>
- <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
- </member>
- <member name="M:HttpServer.Authentication.AuthenticationModule.#ctor(HttpServer.Authentication.AuthenticationHandler)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Authentication.AuthenticationModule"/> class.
- </summary>
- <param name="authenticator">Delegate used to provide information used during authentication.</param>
- </member>
- <member name="P:HttpServer.Authentication.AuthenticationModule.Name">
- <summary>
- name used in HTTP request.
- </summary>
- </member>
- <member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag">
- <summary>
- Tag used for authentication.
- </summary>
- </member>
- <member name="M:HttpServer.Authentication.AuthenticationModule.CreateResponse(System.String,System.Object[])">
- <summary>
- Create a response that can be sent in the WWW-Authenticate header.
- </summary>
- <param name="realm">Realm that the user should authenticate in</param>
- <param name="options">Array with optional options.</param>
- <returns>A correct authentication request.</returns>
- <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
- </member>
- <member name="M:HttpServer.Authentication.AuthenticationModule.Authenticate(System.String,System.String,System.String,System.Object[])">
- <summary>
- An authentication response have been received from the web browser.
- Check if it's correct
- </summary>
- <param name="authenticationHeader">Contents from the Authorization header</param>
- <param name="realm">Realm that should be authenticated</param>
- <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
- <param name="options">options to specific implementations</param>
- <returns>Authentication object that is stored for the request. A user class or something like that.</returns>
- <exception cref="T:System.ArgumentException">if <paramref name="authenticationHeader"/> is invalid</exception>
- <exception cref="T:System.ArgumentNullException">If any of the parameters is empty or null.</exception>
- </member>
- <member name="M:HttpServer.Authentication.AuthenticationModule.CheckAuthentication(System.String,System.String,System.String@,System.Object@)">
- <summary>
- Used to invoke the authentication delegate that is used to lookup the user name/realm.
- </summary>
- <param name="realm">Realm (domain) that user want to authenticate in</param>
- <param name="userName">User name</param>
- <param name="password">Password used for validation. Some implementations got password in clear text, they are then sent to client.</param>
- <param name="login">object that will be stored in the request to help you identify the user if authentication was successful.</param>
- <returns>true if authentication was successful</returns>
- </member>
- <member name="M:HttpServer.Authentication.AuthenticationModule.AuthenticationRequired(HttpServer.IHttpRequest)">
- <summary>
- Determines if authentication is required.
- </summary>
- <param name="request">HTTP request from browser</param>
- <returns>true if user should be authenticated.</returns>
- <remarks>throw <see cref="T:HttpServer.Exceptions.ForbiddenException"/> from your delegate if no more attempts are allowed.</remarks>
- <exception cref="T:HttpServer.Exceptions.ForbiddenException">If no more attempts are allowed</exception>
- </member>
- <member name="T:HttpServer.Authentication.BasicAuthentication">
- <summary>
- The "basic" authentication scheme is based on the model that the
- client must authenticate itself with a user-ID and a password for
- each realm. The realm value should be considered an opaque string
- which can only be compared for equality with other realms on that
- server. The server will service the request only if it can validate
- the user-ID and password for the protection space of the Request-URI.
- There are no optional authentication parameters.
- </summary>
- </member>
- <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
- </summary>
- <param name="authenticator">Delegate used to provide information used during authentication.</param>
- <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
- </member>
- <member name="M:HttpServer.Authentication.BasicAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Authentication.BasicAuthentication"/> class.
- </summary>
- <param name="authenticator">Delegate used to provide information used during authentication.</param>
- </member>
- <member name="M:HttpServer.Authentication.BasicAuthentication.CreateResponse(System.String,System.Object[])">
- <summary>
- Create a response that can be sent in the WWW-Authenticate header.
- </summary>
- <param name="realm">Realm that the user should authenticate in</param>
- <param name="options">Not used in basic auth</param>
- <returns>A correct auth request.</returns>
- </member>
- <member name="M:HttpServer.Authentication.BasicAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])">
- <summary>
- An authentication response have been received from the web browser.
- Check if it's correct
- </summary>
- <param name="authenticationHeader">Contents from the Authorization header</param>
- <param name="realm">Realm that should be authenticated</param>
- <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
- <param name="options">Not used in basic auth</param>
- <returns>Authentication object that is stored for the request. A user class or something like that.</returns>
- <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
- <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
- </member>
- <member name="P:HttpServer.Authentication.BasicAuthentication.Name">
- <summary>
- name used in http request.
- </summary>
- </member>
- <member name="T:HttpServer.Authentication.DigestAuthentication">
- <summary>
- Implements HTTP Digest authentication. It's more secure than Basic auth since password is
- encrypted with a "key" from the server.
- </summary>
- <remarks>
- Keep in mind that the password is encrypted with MD5. Use a combination of SSL and digest auth to be secure.
- </remarks>
- </member>
- <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler,HttpServer.Authentication.AuthenticationRequiredHandler)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
- </summary>
- <param name="authenticator">Delegate used to provide information used during authentication.</param>
- <param name="authenticationRequiredHandler">Delegate used to determine if authentication is required (may be null).</param>
- </member>
- <member name="M:HttpServer.Authentication.DigestAuthentication.#ctor(HttpServer.Authentication.AuthenticationHandler)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Authentication.DigestAuthentication"/> class.
- </summary>
- <param name="authenticator">Delegate used to provide information used during authentication.</param>
- </member>
- <member name="F:HttpServer.Authentication.DigestAuthentication.DisableNonceCheck">
- <summary>
- Used by test classes to be able to use hardcoded values
- </summary>
- </member>
- <member name="P:HttpServer.Authentication.DigestAuthentication.Name">
- <summary>
- name used in http request.
- </summary>
- </member>
- <member name="M:HttpServer.Authentication.DigestAuthentication.Authenticate(System.String,System.String,System.String,System.Object[])">
- <summary>
- An authentication response have been received from the web browser.
- Check if it's correct
- </summary>
- <param name="authenticationHeader">Contents from the Authorization header</param>
- <param name="realm">Realm that should be authenticated</param>
- <param name="httpVerb">GET/POST/PUT/DELETE etc.</param>
- <param name="options">First option: true if username/password is correct but not cnonce</param>
- <returns>
- Authentication object that is stored for the request. A user class or something like that.
- </returns>
- <exception cref="T:System.ArgumentException">if authenticationHeader is invalid</exception>
- <exception cref="T:System.ArgumentNullException">If any of the paramters is empty or null.</exception>
- </member>
- <member name="P:HttpServer.Authentication.DigestAuthentication.TokenIsHA1">
- <summary>
- Gets or sets whether the token supplied in <see cref="T:HttpServer.Authentication.AuthenticationHandler"/> is a
- HA1 generated string.
- </summary>
- </member>
- <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)">
- <summary>
- Encrypts parameters into a Digest string
- </summary>
- <param name="realm">Realm that the user want to log into.</param>
- <param name="userName">User logging in</param>
- <param name="password">Users password.</param>
- <param name="method">HTTP method.</param>
- <param name="uri">Uri/domain that generated the login prompt.</param>
- <param name="qop">Quality of Protection.</param>
- <param name="nonce">"Number used ONCE"</param>
- <param name="nc">Hexadecimal request counter.</param>
- <param name="cnonce">"Client Number used ONCE"</param>
- <returns>Digest encrypted string</returns>
- </member>
- <member name="M:HttpServer.Authentication.DigestAuthentication.Encrypt(System.String,System.String,System.String,System.String,System.String,System.String)">
- <summary>
-
- </summary>
- <param name="ha1">Md5 hex encoded "userName:realm:password", without the quotes.</param>
- <param name="ha2">Md5 hex encoded "method:uri", without the quotes</param>
- <param name="qop">Quality of Protection</param>
- <param name="nonce">"Number used ONCE"</param>
- <param name="nc">Hexadecimal request counter.</param>
- <param name="cnonce">Client number used once</param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Authentication.DigestAuthentication.CreateResponse(System.String,System.Object[])">
- <summary>
- Create a response that can be sent in the WWW-Authenticate header.
- </summary>
- <param name="realm">Realm that the user should authenticate in</param>
- <param name="options">First options specifies if true if username/password is correct but not cnonce.</param>
- <returns>A correct auth request.</returns>
- <exception cref="T:System.ArgumentNullException">If realm is empty or null.</exception>
- </member>
- <member name="M:HttpServer.Authentication.DigestAuthentication.Decode(System.String,System.Text.Encoding)">
- <summary>
- Decodes authorization header value
- </summary>
- <param name="buffer">header value</param>
- <param name="encoding">Encoding that the buffer is in</param>
- <returns>All headers and their values if successful; otherwise null</returns>
- <example>
- NameValueCollection header = DigestAuthentication.Decode("response=\"6629fae49393a05397450978507c4ef1\",\r\nc=00001", Encoding.ASCII);
- </example>
- <remarks>Can handle lots of whitespaces and new lines without failing.</remarks>
- </member>
- <member name="M:HttpServer.Authentication.DigestAuthentication.GetCurrentNonce">
- <summary>
- Gets the current nonce.
- </summary>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Authentication.DigestAuthentication.GetMD5HashBinHex2(System.String)">
- <summary>
- Gets the Md5 hash bin hex2.
- </summary>
- <param name="toBeHashed">To be hashed.</param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Authentication.DigestAuthentication.IsValidNonce(System.String)">
- <summary>
- determines if the nonce is valid or has expired.
- </summary>
- <param name="nonce">nonce value (check wikipedia for info)</param>
- <returns>true if the nonce has not expired.</returns>
- </member>
- <member name="T:HttpServer.Check">
- <summary>
- Small design by contract implementation.
- </summary>
- </member>
- <member name="M:HttpServer.Check.NotEmpty(System.String,System.String)">
- <summary>
- Check whether a parameter is empty.
- </summary>
- <param name="value">Parameter value</param>
- <param name="parameterOrErrorMessage">Parameter name, or error description.</param>
- <exception cref="T:System.ArgumentException">value is empty.</exception>
- </member>
- <member name="M:HttpServer.Check.Require(System.Object,System.String)">
- <summary>
- Checks whether a parameter is null.
- </summary>
- <param name="value">Parameter value</param>
- <param name="parameterOrErrorMessage">Parameter name, or error description.</param>
- <exception cref="T:System.ArgumentNullException">value is null.</exception>
- </member>
- <member name="M:HttpServer.Check.Min(System.Int32,System.Object,System.String)">
- <summary>
- Checks whether a parameter is null.
- </summary>
- <param name="minValue"></param>
- <param name="value">Parameter value</param>
- <param name="parameterOrErrorMessage">Parameter name, or error description.</param>
- <exception cref="T:System.ArgumentException">value is null.</exception>
- </member>
- <member name="T:HttpServer.ClientAcceptedEventArgs">
- <summary>
- Invoked when a client have been accepted by the <see cref="T:HttpServer.HttpListener"/>
- </summary>
- <remarks>
- Can be used to revoke incoming connections
- </remarks>
- </member>
- <member name="M:HttpServer.ClientAcceptedEventArgs.#ctor(System.Net.Sockets.Socket)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.ClientAcceptedEventArgs"/> class.
- </summary>
- <param name="socket">The socket.</param>
- </member>
- <member name="P:HttpServer.ClientAcceptedEventArgs.Socket">
- <summary>
- Accepted socket.
- </summary>
- </member>
- <member name="P:HttpServer.ClientAcceptedEventArgs.Revoked">
- <summary>
- Client should be revoked.
- </summary>
- </member>
- <member name="M:HttpServer.ClientAcceptedEventArgs.Revoke">
- <summary>
- Client may not be handled.
- </summary>
- </member>
- <member name="M:HttpServer.ComponentProvider.AddInstance``1(System.Object)">
- <summary>
- Add a component instance
- </summary>
- <typeparam name="T">Interface type</typeparam>
- <param name="instance">Instance to add</param>
- </member>
- <member name="M:HttpServer.ComponentProvider.Get``1">
- <summary>
- Get a component.
- </summary>
- <typeparam name="T">Interface type</typeparam>
- <returns>Component if registered, otherwise null.</returns>
- <remarks>
- Component will get created if needed.
- </remarks>
- </member>
- <member name="M:HttpServer.ComponentProvider.Create(HttpServer.ComponentProvider.TypeInformation)">
- <exception cref="T:System.InvalidOperationException">If instance cannot be created.</exception>
- </member>
- <member name="M:HttpServer.ComponentProvider.Contains(System.Type)">
- <summary>
- Checks if the specified component interface have been added.
- </summary>
- <param name="interfaceType"></param>
- <returns>true if found; otherwise false.</returns>
- </member>
- <member name="M:HttpServer.ComponentProvider.Add``2">
- <summary>
- Add a component.
- </summary>
- <typeparam name="InterfaceType">Type being requested.</typeparam>
- <typeparam name="InstanceType">Type being created.</typeparam>
- <exception cref="T:System.InvalidOperationException">Type have already been mapped.</exception>
- </member>
- <member name="T:HttpServer.ContentType">
- <summary>
- Lists content type mime types.
- </summary>
- </member>
- <member name="F:HttpServer.ContentType.Text">
- <summary>
- text/plain
- </summary>
- </member>
- <member name="F:HttpServer.ContentType.Html">
- <summary>
- text/haml
- </summary>
- </member>
- <member name="F:HttpServer.ContentType.Javascript">
- <summary>
- content type for javascript documents = application/javascript
- </summary>
- <remarks>
- <para>
- RFC 4329 states that text/javascript have been superseeded by
- application/javascript. You might still want to check browser versions
- since older ones do not support application/javascript.
- </para>
- <para>Browser support: http://krijnhoetmer.nl/stuff/javascript/mime-types/</para>
- </remarks>
- </member>
- <member name="F:HttpServer.ContentType.Xml">
- <summary>
- text/xml
- </summary>
- </member>
- <member name="T:HttpServer.ContentTypes">
- <summary>
- A list of content types
- </summary>
- </member>
- <member name="M:HttpServer.ContentTypes.#ctor(System.String)">
- <summary>
-
- </summary>
- <param name="types">Semicolon separated content types.</param>
- </member>
- <member name="P:HttpServer.ContentTypes.First">
- <summary>
- Get this first content type.
- </summary>
- </member>
- <member name="P:HttpServer.ContentTypes.Item(System.String)">
- <summary>
- Fetch a content type
- </summary>
- <param name="type">Part of type ("xml" would return "application/xml")</param>
- <returns></returns>
- <remarks>All content types are in lower case.</remarks>
- </member>
- <member name="M:HttpServer.ContentTypes.GetEnumerator">
- <summary>
- Returns an enumerator that iterates through a collection.
- </summary>
- <returns>
- An <see cref="T:System.Collections.IEnumerator"/> object that can be used to iterate through the collection.
- </returns>
- </member>
- <member name="M:HttpServer.ContentTypes.Contains(System.String)">
- <summary>
- Searches for the specified type
- </summary>
- <param name="type">Can also be a part of a type (searching for "xml" would return true for "application/xml").</param>
- <returns>true if type was found.</returns>
- </member>
- <member name="T:HttpServer.ContextTimeoutManager">
- <summary>
- Timeout Manager. Checks for dead clients. Clients with open connections that are not doing anything. Closes sessions opened with keepalive.
- </summary>
- </member>
- <member name="T:HttpServer.ContextTimeoutManager.MonitorType">
- <summary>
- Use a Thread or a Timer to monitor the ugly
- </summary>
- </member>
- <member name="M:HttpServer.ContextTimeoutManager.ProcessContextTimeouts">
- <summary>
- Causes the watcher to immediately check the connections.
- </summary>
- </member>
- <member name="M:HttpServer.ContextTimeoutManager.EnvironmentTickCount">
- <summary>
- Environment.TickCount is an int but it counts all 32 bits so it goes positive
- and negative every 24.9 days. This trims down TickCount so it doesn't wrap
- for the callers.
- This trims it to a 12 day interval so don't let your frame time get too long.
- </summary>
- <returns></returns>
- </member>
- <member name="M:HttpServer.ContextTimeoutManager.EnvironmentTickCountSubtract(System.Int32,System.Int32)">
- <summary>
- Environment.TickCount is an int but it counts all 32 bits so it goes positive
- and negative every 24.9 days. Subtracts the passed value (previously fetched by
- 'EnvironmentTickCount()') and accounts for any wrapping.
- </summary>
- <param name="newValue"></param>
- <param name="prevValue"></param>
- <returns>subtraction of passed prevValue from current Environment.TickCount</returns>
- </member>
- <member name="M:HttpServer.ContextTimeoutManager.EnvironmentTickCountAdd(System.Int32,System.Int32)">
- <summary>
- Environment.TickCount is an int but it counts all 32 bits so it goes positive
- and negative every 24.9 days. Subtracts the passed value (previously fetched by
- 'EnvironmentTickCount()') and accounts for any wrapping.
- </summary>
- <param name="newValue"></param>
- <param name="prevValue"></param>
- <returns>subtraction of passed prevValue from current Environment.TickCount</returns>
- </member>
- <member name="M:HttpServer.ContextTimeoutManager.EnvironmentTickCountSubtract(System.Int32)">
- <summary>
- Environment.TickCount is an int but it counts all 32 bits so it goes positive
- and negative every 24.9 days. Subtracts the passed value (previously fetched by
- 'EnvironmentTickCount()') and accounts for any wrapping.
- </summary>
- <returns>subtraction of passed prevValue from current Environment.TickCount</returns>
- </member>
- <member name="T:HttpServer.ExceptionHandler">
- <summary>
- We dont want to let the server to die due to exceptions thrown in worker threads.
- therefore we use this delegate to give you a change to handle uncaught exceptions.
- </summary>
- <param name="source">Class that the exception was thrown in.</param>
- <param name="exception">Exception</param>
- <remarks>
- Server will throw a InternalServerException in release version if you dont
- handle this delegate.
- </remarks>
- </member>
- <member name="T:HttpServer.Exceptions.BadRequestException">
- <summary>
- The request could not be understood by the server due to malformed syntax.
- The client SHOULD NOT repeat the request without modifications.
-
- Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
- </summary>
- </member>
- <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String)">
- <summary>
- Create a new bad request exception.
- </summary>
- <param name="errMsg">reason to why the request was bad.</param>
- </member>
- <member name="M:HttpServer.Exceptions.BadRequestException.#ctor(System.String,System.Exception)">
- <summary>
- Create a new bad request exception.
- </summary>
- <param name="errMsg">reason to why the request was bad.</param>
- <param name="inner">inner exception</param>
- </member>
- <member name="T:HttpServer.Exceptions.ForbiddenException">
- <summary>
- The server understood the request, but is refusing to fulfill it.
- Authorization will not help and the request SHOULD NOT be repeated.
- If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled,
- it SHOULD describe the reason for the refusal in the entity. If the server does not wish to make this information
- available to the client, the status code 404 (Not Found) can be used instead.
-
- Text taken from: http://www.submissionchamber.com/help-guides/error-codes.php
- </summary>
- </member>
- <member name="M:HttpServer.Exceptions.ForbiddenException.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Exceptions.ForbiddenException"/> class.
- </summary>
- <param name="errorMsg">error message</param>
- </member>
- <member name="T:HttpServer.Exceptions.HttpException">
- <summary>
- All HTTP based exceptions will derive this class.
- </summary>
- </member>
- <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String)">
- <summary>
- Create a new HttpException
- </summary>
- <param name="code">http status code (sent in the response)</param>
- <param name="message">error description</param>
- </member>
- <member name="M:HttpServer.Exceptions.HttpException.#ctor(System.Net.HttpStatusCode,System.String,System.Exception)">
- <summary>
- Create a new HttpException
- </summary>
- <param name="code">http status code (sent in the response)</param>
- <param name="message">error description</param>
- <param name="inner">inner exception</param>
- </member>
- <member name="P:HttpServer.Exceptions.HttpException.HttpStatusCode">
- <summary>
- status code to use in the response.
- </summary>
- </member>
- <member name="T:HttpServer.Exceptions.InternalServerException">
- <summary>
- The server encountered an unexpected condition which prevented it from fulfilling the request.
- </summary>
- </member>
- <member name="M:HttpServer.Exceptions.InternalServerException.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
- </summary>
- </member>
- <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
- </summary>
- <param name="message">error message.</param>
- </member>
- <member name="M:HttpServer.Exceptions.InternalServerException.#ctor(System.String,System.Exception)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Exceptions.InternalServerException"/> class.
- </summary>
- <param name="message">error message.</param>
- <param name="inner">inner exception.</param>
- </member>
- <member name="T:HttpServer.Exceptions.NotFoundException">
- <summary>
- The requested resource was not found in the web server.
- </summary>
- </member>
- <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String,System.Exception)">
- <summary>
- Create a new exception
- </summary>
- <param name="message">message describing the error</param>
- <param name="inner">inner exception</param>
- </member>
- <member name="M:HttpServer.Exceptions.NotFoundException.#ctor(System.String)">
- <summary>
- Create a new exception
- </summary>
- <param name="message">message describing the error</param>
- </member>
- <member name="T:HttpServer.Exceptions.UnauthorizedException">
- <summary>
- The request requires user authentication. The response MUST include a
- WWW-Authenticate header field (section 14.47) containing a challenge
- applicable to the requested resource.
-
- The client MAY repeat the request with a suitable Authorization header
- field (section 14.8). If the request already included Authorization
- credentials, then the 401 response indicates that authorization has been
- refused for those credentials. If the 401 response contains the same challenge
- as the prior response, and the user agent has already attempted authentication
- at least once, then the user SHOULD be presented the entity that was given in the response,
- since that entity might include relevant diagnostic information.
-
- HTTP access authentication is explained in rfc2617:
- http://www.ietf.org/rfc/rfc2617.txt
-
- (description is taken from
- http://www.submissionchamber.com/help-guides/error-codes.php#sec10.4.2)
- </summary>
- </member>
- <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor">
- <summary>
- Create a new unauhtorized exception.
- </summary>
- <seealso cref="T:HttpServer.Exceptions.UnauthorizedException"/>
- </member>
- <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String,System.Exception)">
- <summary>
- Create a new unauhtorized exception.
- </summary>
- <param name="message">reason to why the request was unauthorized.</param>
- <param name="inner">inner exception</param>
- </member>
- <member name="M:HttpServer.Exceptions.UnauthorizedException.#ctor(System.String)">
- <summary>
- Create a new unauhtorized exception.
- </summary>
- <param name="message">reason to why the request was unauthorized.</param>
- </member>
- <member name="T:HttpServer.FormDecoders.FormDecoderProvider">
- <summary>
- This provider is used to let us implement any type of form decoding we want without
- having to rewrite anything else in the server.
- </summary>
- </member>
- <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Decode(System.String,System.IO.Stream,System.Text.Encoding)">
- <summary>
-
- </summary>
- <param name="contentType">Should contain boundary and type, as in: multipart/form-data; boundary=---------------------------230051238959</param>
- <param name="stream">Stream containing form data.</param>
- <param name="encoding">Encoding used when decoding the stream</param>
- <returns><see cref="F:HttpServer.HttpInput.Empty"/> if no parser was found.</returns>
- <exception cref="T:System.ArgumentException">If stream is null or not readable.</exception>
- <exception cref="T:System.IO.InvalidDataException">If stream contents cannot be decoded properly.</exception>
- </member>
- <member name="M:HttpServer.FormDecoders.FormDecoderProvider.Add(HttpServer.FormDecoders.IFormDecoder)">
- <summary>
- Add a decoder.
- </summary>
- <param name="decoder"></param>
- <exception cref="T:System.ArgumentNullException"></exception>
- </member>
- <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Count">
- <summary>
- Number of added decoders.
- </summary>
- </member>
- <member name="P:HttpServer.FormDecoders.FormDecoderProvider.Decoders">
- <summary>
- Use with care.
- </summary>
- </member>
- <member name="P:HttpServer.FormDecoders.FormDecoderProvider.DefaultDecoder">
- <summary>
- Decoder used for unknown content types.
- </summary>
- </member>
- <member name="T:HttpServer.FormDecoders.HttpMultipart.Element">
- <summary>Represents a field in a multipart form</summary>
- </member>
- <member name="M:HttpServer.FormDecoders.HttpMultipart.ReadLine">
- <summary>
-
- </summary>
- <returns></returns>
- <exception cref="T:System.ArgumentOutOfRangeException"></exception>
- <exception cref="T:System.ObjectDisposedException"></exception>
- </member>
- <member name="T:HttpServer.FormDecoders.IFormDecoder">
- <summary>
- Interface for form content decoders.
- </summary>
- </member>
- <member name="M:HttpServer.FormDecoders.IFormDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
- <summary>
-
- </summary>
- <param name="stream">Stream containing the content</param>
- <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
- <param name="encoding">Stream enconding</param>
- <returns>A http form, or null if content could not be parsed.</returns>
- <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
- </member>
- <member name="M:HttpServer.FormDecoders.IFormDecoder.CanParse(System.String)">
- <summary>
- Checks if the decoder can handle the mime type
- </summary>
- <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
- <returns>True if the decoder can parse the specified content type</returns>
- </member>
- <member name="T:HttpServer.FormDecoders.MultipartDecoder">
- <summary>
-
- </summary>
- <remarks>
- http://www.faqs.org/rfcs/rfc1867.html
- </remarks>
- </member>
- <member name="F:HttpServer.FormDecoders.MultipartDecoder.MimeType">
- <summary>
- multipart/form-data
- </summary>
- </member>
- <member name="F:HttpServer.FormDecoders.MultipartDecoder.FormData">
- <summary>
- form-data
- </summary>
- </member>
- <member name="M:HttpServer.FormDecoders.MultipartDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
- <summary>
-
- </summary>
- <param name="stream">Stream containing the content</param>
- <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
- <param name="encoding">Stream enconding</param>
- <returns>A http form, or null if content could not be parsed.</returns>
- <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
- <exception cref="T:System.ArgumentNullException">If any parameter is null</exception>
- </member>
- <member name="M:HttpServer.FormDecoders.MultipartDecoder.CanParse(System.String)">
- <summary>
- Checks if the decoder can handle the mime type
- </summary>
- <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
- <returns>True if the decoder can parse the specified content type</returns>
- </member>
- <member name="T:HttpServer.FormDecoders.UrlDecoder">
- <summary>
- Can handle application/x-www-form-urlencoded
- </summary>
- </member>
- <member name="M:HttpServer.FormDecoders.UrlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
- <summary>
- </summary>
- <param name="stream">Stream containing the content</param>
- <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
- <param name="encoding">Stream encoding</param>
- <returns>
- A HTTP form, or null if content could not be parsed.
- </returns>
- <exception cref="T:System.IO.InvalidDataException">If contents in the stream is not valid input data.</exception>
- </member>
- <member name="M:HttpServer.FormDecoders.UrlDecoder.CanParse(System.String)">
- <summary>
- Checks if the decoder can handle the mime type
- </summary>
- <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
- <returns>True if the decoder can parse the specified content type</returns>
- </member>
- <member name="T:HttpServer.FormDecoders.XmlDecoder">
- <summary>
- This decoder converts XML documents to form items.
- Each element becomes a subitem in the form, and each attribute becomes an item.
- </summary>
- <example>
- // xml: <hello id="1">something<world id="2">data</world></hello>
- // result:
- // form["hello"].Value = "something"
- // form["hello"]["id"].Value = 1
- // form["hello"]["world]["id"].Value = 1
- // form["hello"]["world"].Value = "data"
- </example>
- <remarks>
- The original xml document is stored in form["__xml__"].Value.
- </remarks>
- </member>
- <member name="M:HttpServer.FormDecoders.XmlDecoder.Decode(System.IO.Stream,System.String,System.Text.Encoding)">
- <summary>
-
- </summary>
- <param name="stream">Stream containing the content</param>
- <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case</param>
- <param name="encoding">Stream encoding</param>
- Note: contentType and encoding are not used?
- <returns>A http form, or null if content could not be parsed.</returns>
- <exception cref="T:System.IO.InvalidDataException"></exception>
- </member>
- <member name="M:HttpServer.FormDecoders.XmlDecoder.TraverseNode(HttpServer.IHttpInput,System.Xml.XmlNode)">
- <summary>
- Recursive function that will go through an xml element and store it's content
- to the form item.
- </summary>
- <param name="item">(parent) Item in form that content should be added to.</param>
- <param name="node">Node that should be parsed.</param>
- </member>
- <member name="M:HttpServer.FormDecoders.XmlDecoder.CanParse(System.String)">
- <summary>
- Checks if the decoder can handle the mime type
- </summary>
- <param name="contentType">Content type (with any additional info like boundry). Content type is always supplied in lower case.</param>
- <returns>True if the decoder can parse the specified content type</returns>
- </member>
- <member name="T:HttpServer.Helpers.FormHelper">
- <summary>
- Helpers making it easier to work with forms.
- </summary>
- <seealso cref="T:HttpServer.Helpers.ObjectForm"/>
- </member>
- <member name="F:HttpServer.Helpers.FormHelper.JSImplementation">
- <summary>
- Used to let the website use different JavaScript libraries.
- Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
- </summary>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.Start(System.String,System.String,System.Boolean,System.String[])">
- <summary>
- Create a <form> tag.
- </summary>
- <param name="id">name of form</param>
- <param name="action">action to invoke on submit</param>
- <param name="isAjax">form should be posted as Ajax</param>
- <returns>HTML code</returns>
- <example>
- <code>
- // without options
- WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
-
- // with options
- WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax, "style", "display:inline", "class", "greenForm");
- </code>
- </example>
- <param name="options">HTML attributes or JavaScript options.</param>
- <remarks>Method will ALWAYS be POST.</remarks>
- <exception cref="T:System.ArgumentException">options must consist of name, value, name, value</exception>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
- <summary>
- Creates a select list with the values in a collection.
- </summary>
- <param name="name">Name of the SELECT-tag</param>
- <param name="collection">collection used to generate options.</param>
- <param name="getIdTitle">delegate used to return id and title from objects.</param>
- <param name="selectedValue">value that should be marked as selected.</param>
- <param name="firstEmpty">First row should contain an empty value.</param>
- <returns>string containing a SELECT-tag.</returns>
- <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
- <summary>
- Creates a select list with the values in a collection.
- </summary>
- <param name="name">Name of the SELECT-tag</param>
- <param name="id">Id of the SELECT-tag</param>
- <param name="collection">collection used to generate options.</param>
- <param name="getIdTitle">delegate used to return id and title from objects.</param>
- <param name="selectedValue">value that should be marked as selected.</param>
- <param name="firstEmpty">First row should contain an empty value.</param>
- <returns>string containing a SELECT-tag.</returns>
- <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
- <example>
- <code>
- // Class that is going to be used in a SELECT-tag.
- public class User
- {
- private readonly string _realName;
- private readonly int _id;
- public User(int id, string realName)
- {
- _id = id;
- _realName = realName;
- }
- public string RealName
- {
- get { return _realName; }
- }
-
- public int Id
- {
- get { return _id; }
- }
- }
-
- // Using an inline delegate to generate the select list
- public void UserInlineDelegate()
- {
- List<User> items = new List<User>();
- items.Add(new User(1, "adam"));
- items.Add(new User(2, "bertial"));
- items.Add(new User(3, "david"));
- string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
- {
- User user = (User)o;
- id = user.Id;
- value = user.RealName;
- }, 2, true);
- }
-
- // Using an method as delegate to generate the select list.
- public void UseExternalDelegate()
- {
- List<User> items = new List<User>();
- items.Add(new User(1, "adam"));
- items.Add(new User(2, "bertial"));
- items.Add(new User(3, "david"));
- string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
- }
-
- // delegate returning id and title
- public static void UserOptions(object o, out object id, out object title)
- {
- User user = (User)o;
- id = user.Id;
- value = user.RealName;
- }
- </code>
- </example>
- <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.Select(System.String,System.String,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean,System.String[])">
- <summary>
- Creates a select list with the values in a collection.
- </summary>
- <param name="name">Name of the SELECT-tag</param>
- <param name="id">Id of the SELECT-tag</param>
- <param name="collection">collection used to generate options.</param>
- <param name="getIdTitle">delegate used to return id and title from objects.</param>
- <param name="selectedValue">value that should be marked as selected.</param>
- <param name="firstEmpty">First row should contain an empty value.</param>
- <param name="htmlAttributes">name, value collection of extra HTML attributes.</param>
- <returns>string containing a SELECT-tag.</returns>
- <seealso cref="T:HttpServer.Helpers.GetIdTitle"/>
- <exception cref="T:System.ArgumentNullException"><c>name</c>, <c>id</c>, <c>collection</c> or <c>getIdTitle</c> is null.</exception>
- <exception cref="T:System.ArgumentException">Invalid HTML attribute list.</exception>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.Options(System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
- <summary>
- Generate a list of HTML options
- </summary>
- <param name="collection">collection used to generate options.</param>
- <param name="getIdTitle">delegate used to return id and title from objects.</param>
- <param name="selectedValue">value that should be marked as selected.</param>
- <param name="firstEmpty">First row should contain an empty value.</param>
- <returns></returns>
- <exception cref="T:System.ArgumentNullException"><c>collection</c> or <c>getIdTitle</c> is null.</exception>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.Options(System.Text.StringBuilder,System.Collections.IEnumerable,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
- <exception cref="T:System.ArgumentNullException"><c>sb</c> is null.</exception>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.Object,System.Object,System.String[])">
- <summary>
- Creates a check box.
- </summary>
- <param name="name">element name</param>
- <param name="value">element value</param>
- <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not. </param>
- <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
- <returns>a generated radio button</returns>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.Object,System.String[])">
- <summary>
- Creates a check box.
- </summary>
- <param name="name">element name</param>
- <param name="id">element id</param>
- <param name="value">element value</param>
- <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not. </param>
- <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
- <returns>a generated radio button</returns>
- <remarks>
- value in your business object. (check box will be selected if it matches the element value)
- </remarks>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.CheckBox(System.String,System.String,System.Object,System.String[])">
- <summary>
- Creates a check box.
- </summary>
- <param name="name">element name</param>
- <param name="id">element id</param>
- <param name="isChecked">determines if the check box is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not. </param>
- <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
- <returns>a generated radio button</returns>
- <remarks>will set value to "1".</remarks>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.Object,System.Object,System.String[])">
- <summary>
- Creates a RadioButton.
- </summary>
- <param name="name">element name</param>
- <param name="value">element value</param>
- <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not. </param>
- <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
- <returns>a generated radio button</returns>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.RadioButton(System.String,System.String,System.Object,System.Object,System.String[])">
- <summary>
- Creates a RadioButton.
- </summary>
- <param name="name">element name</param>
- <param name="id">element id</param>
- <param name="value">element value</param>
- <param name="isSelected">determines if the radio button is selected or not. This is done differently depending on the
- type of variable. A boolean simply triggers checked or not, all other types are compared with "value" to determine if
- the box is checked or not. </param>
- <param name="htmlAttributes">a list with additional attributes (name, value, name, value).</param>
- <returns>a generated radio button</returns>
- </member>
- <member name="M:HttpServer.Helpers.FormHelper.End">
- <summary>
- form close tag
- </summary>
- <returns></returns>
- </member>
- <member name="T:HttpServer.Helpers.GetIdTitle">
- <summary>
- 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.
- </summary>
- <param name="obj">current object (for instance a User).</param>
- <param name="id">Text that should be displayed in the value part of a <optiongt;-tag.</param>
- <param name="title">Text shown in the select list.</param>
- <example>
- // Class that is going to be used in a SELECT-tag.
- public class User
- {
- private readonly string _realName;
- private readonly int _id;
- public User(int id, string realName)
- {
- _id = id;
- _realName = realName;
- }
- public string RealName
- {
- get { return _realName; }
- }
-
- public int Id
- {
- get { return _id; }
- }
- }
-
- // Using an inline delegate to generate the select list
- public void UserInlineDelegate()
- {
- List<User> items = new List<User>();
- items.Add(new User(1, "adam"));
- items.Add(new User(2, "bertial"));
- items.Add(new User(3, "david"));
- string htmlSelect = Select("users", "users", items, delegate(object o, out object id, out object value)
- {
- User user = (User)o;
- id = user.Id;
- value = user.RealName;
- }, 2, true);
- }
-
- // Using an method as delegate to generate the select list.
- public void UseExternalDelegate()
- {
- List<User> items = new List<User>();
- items.Add(new User(1, "adam"));
- items.Add(new User(2, "bertial"));
- items.Add(new User(3, "david"));
- string htmlSelect = Select("users", "users", items, UserOptions, 1, true);
- }
-
- // delegate returning id and title
- public static void UserOptions(object o, out object id, out object title)
- {
- User user = (User)o;
- id = user.Id;
- value = user.RealName;
- } /// </example>
- </member>
- <member name="T:HttpServer.Helpers.Implementations.PrototypeImp">
- <summary>
- PrototypeJS implementation of the javascript functions.
- </summary>
- </member>
- <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxRequest(System.String,System.String[])">
- <summary>
- Requests a url through ajax
- </summary>
- <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
- <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
- <returns>a link tag</returns>
- <remarks>onclick attribute is used by this method.</remarks>
- <example>
- <code>
- // plain text
- JSHelper.AjaxRequest("'/user/show/1'");
-
- // ajax request using this.href
- string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>";
- </code>
- </example>
- </member>
- <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.Contains(System.Collections.Generic.IEnumerable{System.String},System.String)">
- <summary>
- Determins if a list of strings contains a specific value
- </summary>
- <param name="options">options to check in</param>
- <param name="value">value to find</param>
- <returns>true if value was found</returns>
- <remarks>case insensitive</remarks>
- </member>
- <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxUpdater(System.String,System.String,System.String[])">
- <summary>
- Ajax requests that updates an element with
- the fetched content
- </summary>
- <param name="url">URL to fetch. URL is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
- <param name="targetId">element to update</param>
- <param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
- <returns>A link tag.</returns>
- <example>
- <code>
- JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
- </code>
- </example>
- </member>
- <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])">
- <summary>
- A link that pop ups a Dialog (overlay div)
- </summary>
- <param name="url">URL to contents of dialog</param>
- <param name="title">link title</param>
- <param name="htmlAttributes">name, value, name, value</param>
- <returns>
- A "a"-tag that popups a dialog when clicked
- </returns>
- <remarks><para>Requires Control.Modal found here: http://livepipe.net/projects/control_modal/</para>
- And the following JavaScript (load it in application.js):
- <code>
- Event.observe(window, 'load',
- function() {
- document.getElementsByClassName('modal').each(function(link){ new Control.Modal(link); });
- }
- );
- </code>
- </remarks>
- <example>
- WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
- </example>
- </member>
- <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CreateDialog(System.String,System.String,System.String[])">
- <summary>
- create a modal dialog (usually using DIVs)
- </summary>
- <param name="url">url to fetch</param>
- <param name="title">dialog title</param>
- <param name="options">javascript/html attributes. javascript options ends with colon ':'.</param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.CloseDialog">
- <summary>
- Close a javascript dialog window/div.
- </summary>
- <returns>javascript for closing a dialog.</returns>
- <see cref="M:HttpServer.Helpers.Implementations.PrototypeImp.DialogLink(System.String,System.String,System.String[])" />
- </member>
- <member name="M:HttpServer.Helpers.Implementations.PrototypeImp.AjaxFormOnSubmit(System.String[])">
- <summary>
- javascript action that should be added to the "onsubmit" event in the form tag.
- </summary>
- <param name="options">remember to encapsulate strings in ''</param>
- <returns></returns>
- <remarks>All javascript option names should end with colon.</remarks>
- <example>
- <code>
- JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
- </code>
- </example>
- </member>
- <member name="T:HttpServer.Helpers.JSHelper">
- <summary>
- Will contain helper functions for javascript.
- </summary>
- </member>
- <member name="M:HttpServer.Helpers.JSHelper.AjaxRequest(System.String,System.String[])">
- <summary>
- Requests a url through ajax
- </summary>
- <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
- <param name="options">optional options in format "key, value, key, value", used in JS request object. All keys should end with colon.</param>
- <returns>a link tag</returns>
- <remarks>onclick attribute is used by this method.</remarks>
- <example>
- <code>
- // plain text
- JSHelper.AjaxRequest("'/user/show/1'");
-
- // ajax request using this.href
- string link = "<a href=\"/user/call/1\" onclick=\"" + JSHelper.AjaxRequest("this.href") + "/<call user</a>";
- </code>
- </example>
- </member>
- <member name="M:HttpServer.Helpers.JSHelper.AjaxUpdater(System.String,System.String,System.String[])">
- <summary>
- Ajax requests that updates an element with
- the fetched content
- </summary>
- <param name="url">url to fetch. Url is NOT enclosed in quotes by the implementation. You need to do that yourself.</param>
- <param name="targetId">element to update</param>
- <param name="options">options in format "key, value, key, value". All keys should end with colon.</param>
- <returns>A link tag.</returns>
- <example>
- <code>
- JSHelper.AjaxUpdater("'/user/show/1'", "user", "onsuccess:", "alert('hello');", "asynchronous:", "true");
- </code>
- </example>
- </member>
- <member name="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])">
- <summary>
- Opens contents in a dialog window.
- </summary>
- <param name="url">url to contents of dialog</param>
- <param name="title">link title</param>
- <param name="options">name, value, name, value, all parameter names should end with colon.</param>
- </member>
- <member name="M:HttpServer.Helpers.JSHelper.CloseDialog">
- <summary>
- Close a javascript dialog window/div.
- </summary>
- <returns>javascript for closing a dialog.</returns>
- <see cref="M:HttpServer.Helpers.JSHelper.CreateDialog(System.String,System.String,System.String[])" />
- </member>
- <member name="T:HttpServer.Helpers.ObjectForm">
- <summary>
- The object form class takes an object and creates form items for it.
- </summary>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
- </summary>
- <param name="method"></param>
- <param name="name">form name *and* id.</param>
- <param name="action">action to do when form is posted.</param>
- <param name="obj"></param>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.String,System.Object)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
- </summary>
- <param name="name">form name *and* id.</param>
- <param name="action">action to do when form is posted.</param>
- <param name="obj">object to get values from</param>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.#ctor(System.String,System.Object)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Helpers.ObjectForm"/> class.
- </summary>
- <param name="action">form action.</param>
- <param name="obj">object to get values from.</param>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Begin">
- <summary>
- write out the FORM-tag.
- </summary>
- <returns>generated html code</returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Begin(System.Boolean)">
- <summary>
- Writeout the form tag
- </summary>
- <param name="isAjax">form should be posted through ajax.</param>
- <returns>generated html code</returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Tb(System.String,System.Object[])">
- <summary>
- Generates a text box.
- </summary>
- <param name="propertyName"></param>
- <param name="options"></param>
- <returns>generated html code</returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Pb(System.String,System.Object[])">
- <summary>
- password box
- </summary>
- <param name="propertyName"></param>
- <param name="options"></param>
- <returns>generated html code</returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Hidden(System.String,System.Object[])">
- <summary>
- Hiddens the specified property name.
- </summary>
- <param name="propertyName">Name of the property.</param>
- <param name="options">The options.</param>
- <returns>generated html code</returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Label(System.String,System.String)">
- <summary>
- Labels the specified property name.
- </summary>
- <param name="propertyName">property in object.</param>
- <param name="label">caption</param>
- <returns>generated html code</returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Cb(System.String,System.String,System.Object[])">
- <summary>
- Generate a checkbox
- </summary>
- <param name="propertyName">property in object</param>
- <param name="value">checkbox value</param>
- <param name="options">additional html attributes.</param>
- <returns>generated html code</returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.String,System.String,System.Object[])">
- <summary>
- Write a html select tag
- </summary>
- <param name="propertyName">object property.</param>
- <param name="idColumn">id column</param>
- <param name="titleColumn">The title column.</param>
- <param name="options">The options.</param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Select(System.String,System.Collections.IEnumerable,System.String,System.String,System.Object[])">
- <summary>
- Selects the specified property name.
- </summary>
- <param name="propertyName">Name of the property.</param>
- <param name="items">The items.</param>
- <param name="idColumn">The id column.</param>
- <param name="titleColumn">The title column.</param>
- <param name="options">The options.</param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.Submit(System.String)">
- <summary>
- Write a submit tag.
- </summary>
- <param name="value">button caption</param>
- <returns>html submit tag</returns>
- </member>
- <member name="M:HttpServer.Helpers.ObjectForm.End">
- <summary>
- html end form tag
- </summary>
- <returns>html</returns>
- </member>
- <member name="T:HttpServer.Helpers.ResourceInfo">
- <summary>
- Container to bind resource names to assemblies
- </summary>
- </member>
- <member name="M:HttpServer.Helpers.ResourceInfo.#ctor(System.String,System.String,System.Reflection.Assembly)">
- <summary>
- Instantiates an instance of <see cref="T:HttpServer.Helpers.ResourceInfo"/>
- </summary>
- <param name="uri">The dot seperated uri the resource maps to</param>
- <param name="resourceName">The full resource name</param>
- <param name="assembly">The assembly the resource exists in</param>
- </member>
- <member name="P:HttpServer.Helpers.ResourceInfo.Assembly">
- <summary>
- Retrieves the assembly the resource resides in
- </summary>
- </member>
- <member name="P:HttpServer.Helpers.ResourceInfo.Uri">
- <summary>
- Retrieves the full name/path of the assembly
- </summary>
- </member>
- <member name="P:HttpServer.Helpers.ResourceInfo.Extension">
- <summary>
- Retrieves the extension of the resource
- </summary>
- </member>
- <member name="P:HttpServer.Helpers.ResourceInfo.ExtensionLessUri">
- <summary>Returns the Uri without extension</summary>
- </member>
- <member name="P:HttpServer.Helpers.ResourceInfo.ResourceName">
- <summary>Retrieves the full path name to the resource file</summary>
- </member>
- <member name="M:HttpServer.Helpers.ResourceInfo.GetStream">
- <summary>
- Retrieves a stream to the resource
- </summary>
- <returns>Null if the resource couldn't be located somehow</returns>
- </member>
- <member name="T:HttpServer.Helpers.ResourceManager">
- <summary>Class to handle loading of resource files</summary>
- </member>
- <member name="M:HttpServer.Helpers.ResourceManager.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class.
- </summary>
- </member>
- <member name="M:HttpServer.Helpers.ResourceManager.#ctor(HttpServer.ILogWriter)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Helpers.ResourceManager"/> class.
- </summary>
- <param name="writer">logger.</param>
- </member>
- <member name="M:HttpServer.Helpers.ResourceManager.LoadResources(System.String,System.Reflection.Assembly,System.String)">
- <summary>
- Loads resources from a namespace in the given assembly to an URI
- </summary>
- <param name="toUri">The URI to map the resources to</param>
- <param name="fromAssembly">The assembly in which the resources reside</param>
- <param name="fromNamespace">The namespace from which to load the resources</param>
- <usage>
- <code>
- resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
- </code>
- Will make the resource MyLib.Models.User.Views.list.Haml accessible via /user/list.haml or /user/list/
- </usage>
- <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns>
- <exception cref="T:System.InvalidOperationException">If a resource has already been mapped to an uri</exception>
- </member>
- <member name="M:HttpServer.Helpers.ResourceManager.GetResourceStream(System.String)">
- <summary>
- Retrieves a stream for the specified resource path if loaded otherwise null
- </summary>
- <param name="path">Path to the resource to retrieve a stream for</param>
- <returns>A stream or null if the resource couldn't be found</returns>
- </member>
- <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String)">
- <summary>
- Fetch all files from the resource that matches the specified arguments.
- </summary>
- <param name="path">The path to the resource to extract</param>
- <returns>
- a list of files if found; or an empty array if no files are found.
- </returns>
- <exception cref="T:System.ArgumentException">Search path must end with an asterisk for finding arbitrary files</exception>
- </member>
- <member name="M:HttpServer.Helpers.ResourceManager.GetFiles(System.String,System.String)">
- <summary>
- Fetch all files from the resource that matches the specified arguments.
- </summary>
- <param name="path">Where the file should reside.</param>
- <param name="filename">Files to check</param>
- <returns>
- a list of files if found; or an empty array if no files are found.
- </returns>
- </member>
- <member name="M:HttpServer.Helpers.ResourceManager.ContainsResource(System.String)">
- <summary>
- Returns whether or not the loader has an instance of the file requested
- </summary>
- <param name="filename">The name of the template/file</param>
- <returns>True if the loader can provide the file</returns>
- </member>
- <member name="T:HttpServer.Helpers.WebHelper">
- <summary>
- Webhelper provides helpers for common tasks in HTML.
- </summary>
- </member>
- <member name="F:HttpServer.Helpers.WebHelper.JSImplementation">
- <summary>
- Used to let the website use different javascript libraries.
- Default is <see cref="T:HttpServer.Helpers.Implementations.PrototypeImp"/>
- </summary>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.AjaxRequest(System.String,System.String,System.String[])">
- <summary>
- Creates a link that invokes through ajax.
- </summary>
- <param name="url">url to fetch</param>
- <param name="title">link title</param>
- <param name="options">
- optional options in format "key, value, key, value".
- Javascript options starts with ':'.
- </param>
- <returns>a link tag</returns>
- <example>
- WebHelper.AjaxRequest("/users/add/", "Add user", "method:", "post", "onclick", "validate('this');");
- </example>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.AjaxUpdater(System.String,System.String,System.String,System.String[])">
- <summary>
- Builds a link that updates an element with the fetched ajax content.
- </summary>
- <param name="url">Url to fetch content from</param>
- <param name="title">link title</param>
- <param name="targetId">html element to update with the results of the ajax request.</param>
- <param name="options">optional options in format "key, value, key, value"</param>
- <returns>A link tag.</returns>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])">
- <summary>
- A link that pop ups a Dialog (overlay div)
- </summary>
- <param name="url">url to contents of dialog</param>
- <param name="title">link title</param>
- <param name="htmlAttributes">name/value of html attributes.</param>
- <returns>A "a"-tag that popups a dialog when clicked</returns>
- <example>
- WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
- </example>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.CreateDialog(System.String,System.String,System.String[])">
- <summary>
- Create/Open a dialog box using ajax
- </summary>
- <param name="url"></param>
- <param name="title"></param>
- <param name="parameters"></param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.CloseDialog">
- <summary>
- Close a javascript dialog window/div.
- </summary>
- <returns>javascript for closing a dialog.</returns>
- <see cref="M:HttpServer.Helpers.WebHelper.DialogLink(System.String,System.String,System.String[])"/>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.FormStart(System.String,System.String,System.Boolean)">
- <summary>
- Create a <form> tag.
- </summary>
- <param name="name">name of form</param>
- <param name="action">action to invoke on submit</param>
- <param name="isAjax">form should be posted as ajax</param>
- <returns>html code</returns>
- <example>
- WebHelper.FormStart("frmLogin", "/user/login", Request.IsAjax);
- </example>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.Link(System.String,System.String,System.String[])">
- <summary>
- Create a link tag.
- </summary>
- <param name="url">url to go to</param>
- <param name="title">link title (text that is displayed)</param>
- <param name="htmlAttributes">html attributes, name, value, name, value</param>
- <returns>html code</returns>
- <example>
- WebHelper.Link("/user/show/1", "Show user", "id", "showUser", "onclick", "return confirm('Are you shure?');");
- </example>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[])">
- <summary>
- Build a link
- </summary>
- <param name="url">url to go to.</param>
- <param name="title">title of link (displayed text)</param>
- <param name="htmlAttributes">extra html attributes.</param>
- <returns>a complete link</returns>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.BuildLink(System.String,System.String,System.String[],System.String[])">
- <summary>
- Build a link
- </summary>
- <param name="url">url to go to.</param>
- <param name="title">title of link (displayed text)</param>
- <param name="htmlAttributes">extra html attributes.</param>
- <returns>a complete link</returns>
- <param name="options">more options</param>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
- <summary>
- Obsolete
- </summary>
- <param name="name">Obsolete</param>
- <param name="collection">Obsolete</param>
- <param name="getIdTitle">Obsolete</param>
- <param name="selectedValue">Obsolete</param>
- <param name="firstEmpty">Obsolete</param>
- <returns>Obsolete</returns>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.Select(System.String,System.String,System.Collections.ICollection,HttpServer.Helpers.GetIdTitle,System.Object,System.Boolean)">
- <summary>
- Obsolete
- </summary>
- <param name="name">Obsolete</param>
- <param name="id">Obsolete</param>
- <param name="collection">Obsolete</param>
- <param name="getIdTitle">Obsolete</param>
- <param name="selectedValue">Obsolete</param>
- <param name="firstEmpty">Obsolete</param>
- <returns>Obsolete</returns>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Generic.IEnumerable{System.Object},System.String)">
- <summary>
- Render errors into a UL with class "errors"
- </summary>
- <param name="className">class used by UL-tag.</param>
- <param name="theList">items to list</param>
- <returns>an unordered html list.</returns>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.List(System.Collections.Specialized.NameValueCollection,System.String)">
- <summary>
- Render errors into a UL with class "errors"
- </summary>
- <param name="className">class used by UL-tag.</param>
- <param name="theList">items to list</param>
- <returns>an unordered html list.</returns>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.Errors(System.Collections.Specialized.NameValueCollection)">
- <summary>
- Render errors into a UL with class "errors"
- </summary>
- <param name="errors"></param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[],System.String[])">
- <summary>
- Generates a list with html attributes.
- </summary>
- <param name="sb">StringBuilder that the options should be added to.</param>
- <param name="firstOptions">attributes set by user.</param>
- <param name="secondOptions">attributes set by any of the helper classes.</param>
- </member>
- <member name="M:HttpServer.Helpers.WebHelper.GenerateHtmlAttributes(System.Text.StringBuilder,System.String[])">
- <summary>
- Generates a list with html attributes.
- </summary>
- <param name="sb">StringBuilder that the options should be added to.</param>
- <param name="options"></param>
- </member>
- <member name="T:HttpServer.Helpers.JavascriptHelperImplementation">
- <summary>
- Purpose of this class is to create a javascript toolkit independent javascript helper.
- </summary>
- </member>
- <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.GenerateOptions(System.Text.StringBuilder,System.String[],System.Boolean)">
- <summary>
- Generates a list with JS options.
- </summary>
- <param name="sb">StringBuilder that the options should be added to.</param>
- <param name="options">the javascript options. name, value pairs. each string value should be escaped by YOU!</param>
- <param name="startWithComma">true if we should start with a comma.</param>
- </member>
- <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.RemoveJavascriptOptions(System.String[])">
- <summary>
- Removes any javascript parameters from an array of parameters
- </summary>
- <param name="options">The array of parameters to remove javascript params from</param>
- <returns>An array of html parameters</returns>
- </member>
- <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxFormOnSubmit(System.String[])">
- <summary>
- javascript action that should be added to the "onsubmit" event in the form tag.
- </summary>
- <returns></returns>
- <remarks>All javascript option names should end with colon.</remarks>
- <example>
- <code>
- JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
- </code>
- </example>
- </member>
- <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxRequest(System.String,System.String[])">
- <summary>
- Requests a url through ajax
- </summary>
- <param name="url">url to fetch</param>
- <param name="options">optional options in format "key, value, key, value", used in JS request object.</param>
- <returns>a link tag</returns>
- <remarks>All javascript option names should end with colon.</remarks>
- <example>
- <code>
- JSHelper.AjaxRequest("/user/show/1", "onsuccess:", "$('userInfo').update(result);");
- </code>
- </example>
- </member>
- <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.AjaxUpdater(System.String,System.String,System.String[])">
- <summary>
- Ajax requests that updates an element with
- the fetched content
- </summary>
- <param name="url">Url to fetch content from</param>
- <param name="targetId">element to update</param>
- <param name="options">optional options in format "key, value, key, value", used in JS updater object.</param>
- <returns>A link tag.</returns>
- <remarks>All javascript option names should end with colon.</remarks>
- <example>
- <code>
- JSHelper.AjaxUpdater("/user/show/1", "userInfo", "onsuccess:", "alert('Successful!');");
- </code>
- </example>
- </member>
- <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])">
- <summary>
- A link that pop ups a Dialog (overlay div)
- </summary>
- <param name="url">url to contents of dialog</param>
- <param name="title">link title</param>
- <returns>A "a"-tag that popups a dialog when clicked</returns>
- <param name="htmlAttributes">name/value of html attributes</param>
- <example>
- WebHelper.DialogLink("/user/show/1", "show user", "onmouseover", "alert('booh!');");
- </example>
- </member>
- <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CloseDialog">
- <summary>
- Close a javascript dialog window/div.
- </summary>
- <returns>javascript for closing a dialog.</returns>
- <see cref="M:HttpServer.Helpers.JavascriptHelperImplementation.DialogLink(System.String,System.String,System.String[])"/>
- </member>
- <member name="M:HttpServer.Helpers.JavascriptHelperImplementation.CreateDialog(System.String,System.String,System.String[])">
- <summary>
- Creates a new modal dialog window
- </summary>
- <param name="url">url to open in window.</param>
- <param name="title">window title (may not be supported by all js implementations)</param>
- <param name="options"></param>
- <returns></returns>
- </member>
- <member name="T:HttpServer.Helpers.XmlHelper">
- <summary>
- Helpers to make XML handling easier
- </summary>
- </member>
- <member name="M:HttpServer.Helpers.XmlHelper.Serialize(System.Object)">
- <summary>
- Serializes object to XML.
- </summary>
- <param name="value">object to serialize.</param>
- <returns>XML</returns>
- <remarks>
- Removes name spaces and adds indentation
- </remarks>
- </member>
- <member name="M:HttpServer.Helpers.XmlHelper.Deserialize``1(System.String)">
- <summary>
- Create an object from a XML string
- </summary>
- <typeparam name="T">Type of object</typeparam>
- <param name="xml">XML string</param>
- <returns>object</returns>
- </member>
- <member name="T:HttpServer.HttpClientContext">
- <summary>
- Contains a connection to a browser/client.
- </summary>
- <remarks>
- Remember to <see cref="M:HttpServer.HttpClientContext.Start"/> after you have hooked the <see cref="E:HttpServer.HttpClientContext.RequestReceived"/> event.
- </remarks>
- TODO: Maybe this class should be broken up into HttpClientChannel and HttpClientContext?
- </member>
- <member name="E:HttpServer.HttpClientContext.Cleaned">
- <summary>
- This context have been cleaned, which means that it can be reused.
- </summary>
- </member>
- <member name="E:HttpServer.HttpClientContext.Started">
- <summary>
- Context have been started (a new client have connected)
- </summary>
- </member>
- <member name="M:HttpServer.HttpClientContext.#ctor(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,HttpServer.IRequestParserFactory,System.Int32,System.Net.Sockets.Socket)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpClientContext"/> class.
- </summary>
- <param name="secured">true if the connection is secured (SSL/TLS)</param>
- <param name="remoteEndPoint">client that connected.</param>
- <param name="stream">Stream used for communication</param>
- <param name="parserFactory">Used to create a <see cref="T:HttpServer.IHttpRequestParser"/>.</param>
- <param name="bufferSize">Size of buffer to use when reading data. Must be at least 4096 bytes.</param>
- <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>
- <exception cref="T:System.ArgumentException">Stream must be writable and readable.</exception>
- </member>
- <member name="M:HttpServer.HttpClientContext.OnBodyBytesReceived(System.Object,HttpServer.Parser.BodyEventArgs)">
- <summary>
- Process incoming body bytes.
- </summary>
- <param name="sender"><see cref="T:HttpServer.IHttpRequestParser"/></param>
- <param name="e">Bytes</param>
- </member>
- <member name="M:HttpServer.HttpClientContext.OnHeaderReceived(System.Object,HttpServer.Parser.HeaderEventArgs)">
- <summary>
-
- </summary>
- <param name="sender"></param>
- <param name="e"></param>
- </member>
- <member name="P:HttpServer.HttpClientContext.CurrentRequest">
- <summary>
- Overload to specify own type.
- </summary>
- <remarks>
- Must be specified before the context is being used.
- </remarks>
- </member>
- <member name="M:HttpServer.HttpClientContext.Start">
- <summary>
- Start reading content.
- </summary>
- <remarks>
- Make sure to call base.Start() if you override this method.
- </remarks>
- </member>
- <member name="M:HttpServer.HttpClientContext.Cleanup">
- <summary>
- Clean up context.
- </summary>
- <remarks>
- Make sure to call base.Cleanup() if you override the method.
- </remarks>
- </member>
- <member name="P:HttpServer.HttpClientContext.Secured">
- <summary>
- Using SSL or other encryption method.
- </summary>
- </member>
- <member name="P:HttpServer.HttpClientContext.IsSecured">
- <summary>
- Using SSL or other encryption method.
- </summary>
- </member>
- <member name="P:HttpServer.HttpClientContext.LogWriter">
- <summary>
- Specify which logger to use.
- </summary>
- </member>
- <member name="P:HttpServer.HttpClientContext.Stream">
- <summary>
- Gets or sets the network stream.
- </summary>
- </member>
- <member name="P:HttpServer.HttpClientContext.RemoteAddress">
- <summary>
- Gets or sets IP address that the client connected from.
- </summary>
- </member>
- <member name="P:HttpServer.HttpClientContext.RemotePort">
- <summary>
- Gets or sets port that the client connected from.
- </summary>
- </member>
- <member name="M:HttpServer.HttpClientContext.Disconnect(System.Net.Sockets.SocketError)">
- <summary>
- Disconnect from client
- </summary>
- <param name="error">error to report in the <see cref="E:HttpServer.HttpClientContext.Disconnected"/> event.</param>
- </member>
- <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)">
- <summary>
- Send a response.
- </summary>
- <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
- <param name="statusCode">HTTP status code</param>
- <param name="reason">reason for the status code.</param>
- <param name="body">HTML body contents, can be null or empty.</param>
- <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>
- <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception>
- </member>
- <member name="M:HttpServer.HttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)">
- <summary>
- Send a response.
- </summary>
- <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
- <param name="statusCode">HTTP status code</param>
- <param name="reason">reason for the status code.</param>
- </member>
- <member name="M:HttpServer.HttpClientContext.Respond(System.String)">
- <summary>
- Send a response.
- </summary>
- <exception cref="T:System.ArgumentNullException"></exception>
- </member>
- <member name="M:HttpServer.HttpClientContext.Send(System.Byte[])">
- <summary>
- send a whole buffer
- </summary>
- <param name="buffer">buffer to send</param>
- <exception cref="T:System.ArgumentNullException"></exception>
- </member>
- <member name="M:HttpServer.HttpClientContext.Send(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Send data using the stream
- </summary>
- <param name="buffer">Contains data to send</param>
- <param name="offset">Start position in buffer</param>
- <param name="size">number of bytes to send</param>
- <exception cref="T:System.ArgumentNullException"></exception>
- <exception cref="T:System.ArgumentOutOfRangeException"></exception>
- </member>
- <member name="E:HttpServer.HttpClientContext.Disconnected">
- <summary>
- The context have been disconnected.
- </summary>
- <remarks>
- Event can be used to clean up a context, or to reuse it.
- </remarks>
- </member>
- <member name="E:HttpServer.HttpClientContext.RequestReceived">
- <summary>
- A request have been received in the context.
- </summary>
- </member>
- <member name="T:HttpServer.HttpContextFactory">
- <summary>
- Used to create and reuse contexts.
- </summary>
- </member>
- <member name="M:HttpServer.HttpContextFactory.#ctor(HttpServer.ILogWriter,System.Int32,HttpServer.IRequestParserFactory)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpContextFactory"/> class.
- </summary>
- <param name="writer">The writer.</param>
- <param name="bufferSize">Amount of bytes to read from the incoming socket stream.</param>
- <param name="factory">Used to create a request parser.</param>
- </member>
- <member name="P:HttpServer.HttpContextFactory.UseTraceLogs">
- <summary>
- True if detailed trace logs should be written.
- </summary>
- </member>
- <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)">
- <summary>
- Create a new context.
- </summary>
- <param name="isSecured">true if socket is running HTTPS.</param>
- <param name="endPoint">Client that connected</param>
- <param name="stream">Network/SSL stream.</param>
- <returns>A context.</returns>
- </member>
- <member name="M:HttpServer.HttpContextFactory.CreateNewContext(System.Boolean,System.Net.IPEndPoint,System.IO.Stream,System.Net.Sockets.Socket)">
- <summary>
- Create a new context.
- </summary>
- <param name="isSecured">true if HTTPS is used.</param>
- <param name="endPoint">Remote client</param>
- <param name="stream">Network stream, <see cref="T:HttpServer.HttpClientContext"/> uses <see cref="T:HttpServer.ReusableSocketNetworkStream"/>.</param>
- <returns>A new context (always).</returns>
- </member>
- <member name="M:HttpServer.HttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
- <summary>
- Create a secure <see cref="T:HttpServer.IHttpClientContext"/>.
- </summary>
- <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
- <param name="certificate">HTTPS certificate to use.</param>
- <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param>
- <returns>
- A created <see cref="T:HttpServer.IHttpClientContext"/>.
- </returns>
- </member>
- <member name="E:HttpServer.HttpContextFactory.RequestReceived">
- <summary>
- A request have been received from one of the contexts.
- </summary>
- </member>
- <member name="M:HttpServer.HttpContextFactory.CreateContext(System.Net.Sockets.Socket)">
- <summary>
- Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client.
- </summary>
- <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
- <returns>
- A creates <see cref="T:HttpServer.IHttpClientContext"/>.
- </returns>
- </member>
- <member name="M:HttpServer.HttpContextFactory.Shutdown">
- <summary>
- Server is shutting down so shut down the factory
- </summary>
- </member>
- <member name="T:HttpServer.ReusableSocketNetworkStream">
- <summary>
- Custom network stream to mark sockets as reusable when disposing the stream.
- </summary>
- </member>
- <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket)">
- <summary>
- Creates a new instance of the <see cref="T:System.Net.Sockets.NetworkStream" /> class for the specified <see cref="T:System.Net.Sockets.Socket" />.
- </summary>
- <param name="socket">
- The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
- </param>
- <exception cref="T:System.ArgumentNullException">
- The <paramref name="socket" /> parameter is null.
- </exception>
- <exception cref="T:System.IO.IOException">
- The <paramref name="socket" /> parameter is not connected.
- -or-
- 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" />.
- -or-
- The <paramref name="socket" /> parameter is in a nonblocking state.
- </exception>
- </member>
- <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.Boolean)">
- <summary>
- 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.
- </summary>
- <param name="socket">
- The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
- </param>
- <param name="ownsSocket">
- 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.
- </param>
- <exception cref="T:System.ArgumentNullException">
- The <paramref name="socket" /> parameter is null.
- </exception>
- <exception cref="T:System.IO.IOException">
- The <paramref name="socket" /> parameter is not connected.
- -or-
- 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" />.
- -or-
- the <paramref name="socket" /> parameter is in a nonblocking state.
- </exception>
- </member>
- <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess)">
- <summary>
- 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.
- </summary>
- <param name="socket">
- The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
- </param>
- <param name="access">
- 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" />.
- </param>
- <exception cref="T:System.ArgumentNullException">
- The <paramref name="socket" /> parameter is null.
- </exception>
- <exception cref="T:System.IO.IOException">
- The <paramref name="socket" /> parameter is not connected.
- -or-
- 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" />.
- -or-
- the <paramref name="socket" /> parameter is in a nonblocking state.
- </exception>
- </member>
- <member name="M:HttpServer.ReusableSocketNetworkStream.#ctor(System.Net.Sockets.Socket,System.IO.FileAccess,System.Boolean)">
- <summary>
- 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.
- </summary>
- <param name="socket">
- The <see cref="T:System.Net.Sockets.Socket" /> that the <see cref="T:System.Net.Sockets.NetworkStream" /> will use to send and receive data.
- </param>
- <param name="access">
- 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" />.
- </param>
- <param name="ownsSocket">
- 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.
- </param>
- <exception cref="T:System.ArgumentNullException">
- The <paramref name="socket" /> parameter is null.
- </exception>
- <exception cref="T:System.IO.IOException">
- The <paramref name="socket" /> parameter is not connected.
- -or-
- 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" />.
- -or-
- The <paramref name="socket" /> parameter is in a nonblocking state.
- </exception>
- </member>
- <member name="M:HttpServer.ReusableSocketNetworkStream.Close">
- <summary>
- Closes the current stream and releases any resources (such as sockets and file handles) associated with the current stream.
- </summary>
- </member>
- <member name="M:HttpServer.ReusableSocketNetworkStream.Dispose(System.Boolean)">
- <summary>
- Releases the unmanaged resources used by the <see cref="T:System.Net.Sockets.NetworkStream"/> and optionally releases the managed resources.
- </summary>
- <param name="disposing">true to release both managed and unmanaged resources; false to release only unmanaged resources.</param>
- </member>
- <member name="T:HttpServer.IHttpContextFactory">
- <summary>
- Used to create <see cref="T:HttpServer.IHttpClientContext"/>es.
- </summary>
- </member>
- <member name="M:HttpServer.IHttpContextFactory.CreateContext(System.Net.Sockets.Socket)">
- <summary>
- Creates a <see cref="T:HttpServer.IHttpClientContext"/> that handles a connected client.
- </summary>
- <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
- <returns>A creates <see cref="T:HttpServer.IHttpClientContext"/>.</returns>
- </member>
- <member name="M:HttpServer.IHttpContextFactory.CreateSecureContext(System.Net.Sockets.Socket,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
- <summary>
- Create a secure <see cref="T:HttpServer.IHttpClientContext"/>.
- </summary>
- <param name="socket">Client socket (accepted by the <see cref="T:HttpServer.HttpListener"/>).</param>
- <param name="certificate">HTTPS certificate to use.</param>
- <param name="protocol">Kind of HTTPS protocol. Usually TLS or SSL.</param>
- <returns>A created <see cref="T:HttpServer.IHttpClientContext"/>.</returns>
- </member>
- <member name="E:HttpServer.IHttpContextFactory.RequestReceived">
- <summary>
- A request have been received from one of the contexts.
- </summary>
- </member>
- <member name="M:HttpServer.IHttpContextFactory.Shutdown">
- <summary>
- Server is shutting down so shut down the factory
- </summary>
- </member>
- <member name="T:HttpServer.HttpFile">
- <summary>
- Container class for posted files
- </summary>
- </member>
- <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)">
- <summary>
- Creates a container for a posted file
- </summary>
- <param name="name">The identifier of the post field</param>
- <param name="filename">The file path</param>
- <param name="contentType">The content type of the file</param>
- <param name="uploadFilename">The name of the file uploaded</param>
- <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
- </member>
- <member name="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String)">
- <summary>
- Creates a container for a posted file <see cref="M:HttpServer.HttpFile.#ctor(System.String,System.String,System.String,System.String)"/>
- </summary>
- <exception cref="T:System.ArgumentNullException">If any parameter is null or empty</exception>
- </member>
- <member name="M:HttpServer.HttpFile.Finalize">
- <summary>Destructor disposing the file</summary>
- </member>
- <member name="P:HttpServer.HttpFile.Name">
- <summary>
- The name/id of the file
- </summary>
- </member>
- <member name="P:HttpServer.HttpFile.Filename">
- <summary>
- The full file path
- </summary>
- </member>
- <member name="P:HttpServer.HttpFile.UploadFilename">
- <summary>
- The name of the uploaded file
- </summary>
- </member>
- <member name="P:HttpServer.HttpFile.ContentType">
- <summary>
- The type of file
- </summary>
- </member>
- <member name="M:HttpServer.HttpFile.Dispose(System.Boolean)">
- <summary>
- Deletes the temporary file
- </summary>
- <param name="disposing">True if manual dispose</param>
- </member>
- <member name="M:HttpServer.HttpFile.Dispose">
- <summary>
- Disposing interface, cleans up managed resources (the temporary file) and suppresses finalization
- </summary>
- </member>
- <member name="T:HttpServer.HttpForm">
- <summary>Container for posted form data</summary>
- </member>
- <member name="F:HttpServer.HttpForm.EmptyForm">
- <summary>Instance to help mark a non-initialized form</summary>
- </member>
- <member name="M:HttpServer.HttpForm.#ctor">
- <summary>Initializes a form container with the specified name</summary>
- </member>
- <member name="M:HttpServer.HttpForm.#ctor(HttpServer.HttpInput)">
- <summary>
- Makes a deep copy of the input
- </summary>
- <param name="input">The input to copy</param>
- </member>
- <member name="M:HttpServer.HttpForm.AddFile(HttpServer.HttpFile)">
- <summary>
- Adds a file to the collection of posted files
- </summary>
- <param name="file">The file to add</param>
- <exception cref="T:System.ArgumentException">If the file is already added</exception>
- <exception cref="T:System.ArgumentNullException">If file is null</exception>
- <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
- </member>
- <member name="M:HttpServer.HttpForm.ContainsFile(System.String)">
- <summary>
- Checks if the form contains a specified file
- </summary>
- <param name="name">Field name of the file parameter</param>
- <returns>True if the file exists</returns>
- <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
- </member>
- <member name="M:HttpServer.HttpForm.GetFile(System.String)">
- <summary>
- Retrieves a file held by by the form
- </summary>
- <param name="name">The identifier of the file</param>
- <returns>The requested file or null if the file was not found</returns>
- <exception cref="T:System.ArgumentNullException">If name is null or empty</exception>
- <exception cref="T:System.InvalidOperationException">If the instance is HttpForm.EmptyForm which cannot be modified</exception>
- </member>
- <member name="P:HttpServer.HttpForm.Files">
- <summary>
- Retrieves the number of files added to the <see cref="T:HttpServer.HttpForm"/>
- </summary>
- <returns>0 if no files are added</returns>
- </member>
- <member name="M:HttpServer.HttpForm.Clear">
- <summary>Disposes all held HttpFile's and resets values</summary>
- </member>
- <member name="T:HttpServer.HttpHelper">
- <summary>
- Generic helper functions for HTTP
- </summary>
- </member>
- <member name="F:HttpServer.HttpHelper.HTTP10">
- <summary>
- Version string for HTTP v1.0
- </summary>
- </member>
- <member name="F:HttpServer.HttpHelper.HTTP11">
- <summary>
- Version string for HTTP v1.1
- </summary>
- </member>
- <member name="F:HttpServer.HttpHelper.EmptyUri">
- <summary>
- An empty URI
- </summary>
- </member>
- <member name="M:HttpServer.HttpHelper.ParseQueryString(System.String)">
- <summary>
- Parses a query string.
- </summary>
- <param name="queryString">Query string (URI encoded)</param>
- <returns>A <see cref="T:HttpServer.HttpInput"/> object if successful; otherwise <see cref="F:HttpServer.HttpInput.Empty"/></returns>
- <exception cref="T:System.ArgumentNullException"><c>queryString</c> is null.</exception>
- <exception cref="T:System.FormatException">If string cannot be parsed.</exception>
- </member>
- <member name="T:HttpServer.HttpInput">
- <summary>
- Contains some kind of input from the browser/client.
- can be QueryString, form data or any other request body content.
- </summary>
- </member>
- <member name="F:HttpServer.HttpInput.Empty">
- <summary> Representation of a non-initialized class instance </summary>
- </member>
- <member name="F:HttpServer.HttpInput._ignoreChanges">
- <summary> Variable telling the class that it is non-initialized <see cref="F:HttpServer.HttpInput.Empty"/> </summary>
- </member>
- <member name="M:HttpServer.HttpInput.#ctor(System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
- </summary>
- <param name="name">form name.</param>
- </member>
- <member name="M:HttpServer.HttpInput.#ctor(System.String,System.Boolean)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpInput"/> class.
- </summary>
- <param name="name">form name.</param>
- <param name="ignoreChanges">if set to <c>true</c> all changes will be ignored. </param>
- <remarks>this constructor should only be used by Empty</remarks>
- </member>
- <member name="M:HttpServer.HttpInput.#ctor(HttpServer.HttpInput)">
- <summary>Creates a deep copy of the HttpInput class</summary>
- <param name="input">The object to copy</param>
- <remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
- </member>
- <member name="P:HttpServer.HttpInput.Name">
- <summary>
- Form name as lower case
- </summary>
- </member>
- <member name="M:HttpServer.HttpInput.Add(System.String,System.String)">
- <summary>
- Add a new element. Form array elements are parsed
- and added in a correct hierarchy.
- </summary>
- <param name="name">Name is converted to lower case.</param>
- <param name="value"></param>
- <exception cref="T:System.ArgumentNullException"><c>name</c> is null.</exception>
- <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
- </member>
- <member name="P:HttpServer.HttpInput.Item(System.String)">
- <summary>
- Get a form item.
- </summary>
- <param name="name"></param>
- <returns>Returns <see cref="F:HttpServer.HttpInputItem.Empty"/> if item was not found.</returns>
- </member>
- <member name="M:HttpServer.HttpInput.Contains(System.String)">
- <summary>
- Returns true if the class contains a <see cref="T:HttpServer.HttpInput"/> with the corresponding name.
- </summary>
- <param name="name">The field/query string name</param>
- <returns>True if the value exists</returns>
- </member>
- <member name="M:HttpServer.HttpInput.ParseItem(System.String,System.String)">
- <summary>
- Parses an item and returns it.
- This function is primarily used to parse array items as in user[name].
- </summary>
- <param name="name"></param>
- <param name="value"></param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.HttpInput.ToString">
- <summary> Outputs the instance representing all its values joined together </summary>
- <returns></returns>
- </member>
- <member name="M:HttpServer.HttpInput.ToString(System.Boolean)">
- <summary>Returns all items as an unescaped query string.</summary>
- <returns></returns>
- </member>
- <member name="M:HttpServer.HttpInput.ExtractOne(System.String)">
- <summary>
- Extracts one parameter from an array
- </summary>
- <param name="value">Containing the string array</param>
- <returns>All but the first value</returns>
- <example>
- string test1 = ExtractOne("system[user][extension][id]");
- string test2 = ExtractOne(test1);
- string test3 = ExtractOne(test2);
- // test1 = user[extension][id]
- // test2 = extension[id]
- // test3 = id
- </example>
- </member>
- <member name="M:HttpServer.HttpInput.Clear">
- <summary>Resets all data contained by class</summary>
- </member>
- <member name="M:HttpServer.HttpInput.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
- <summary>
- Returns an enumerator that iterates through the collection.
- </summary>
-
- <returns>
- A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
- </returns>
- <filterpriority>1</filterpriority>
- </member>
- <member name="M:HttpServer.HttpInput.GetEnumerator">
- <summary>
- Returns an enumerator that iterates through a collection.
- </summary>
-
- <returns>
- An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
- </returns>
- <filterpriority>2</filterpriority>
- </member>
- <member name="T:HttpServer.IHttpInput">
- <summary>
- Base class for request data containers
- </summary>
- </member>
- <member name="M:HttpServer.IHttpInput.Add(System.String,System.String)">
- <summary>
- Adds a parameter mapped to the presented name
- </summary>
- <param name="name">The name to map the parameter to</param>
- <param name="value">The parameter value</param>
- </member>
- <member name="P:HttpServer.IHttpInput.Item(System.String)">
- <summary>
- Returns a request parameter
- </summary>
- <param name="name">The name associated with the parameter</param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.IHttpInput.Contains(System.String)">
- <summary>
- Returns true if the container contains the requested parameter
- </summary>
- <param name="name">Parameter id</param>
- <returns>True if parameter exists</returns>
- </member>
- <member name="T:HttpServer.HttpInputItem">
- <summary>
- represents a HTTP input item. Each item can have multiple sub items, a sub item
- is made in a HTML form by using square brackets
- </summary>
- <example>
- // <input type="text" name="user[FirstName]" value="jonas" /> becomes:
- Console.WriteLine("Value: {0}", form["user"]["FirstName"].Value);
- </example>
- <remarks>
- All names in a form SHOULD be in lowercase.
- </remarks>
- </member>
- <member name="F:HttpServer.HttpInputItem.Empty">
- <summary> Representation of a non-initialized <see cref="T:HttpServer.HttpInputItem"/>.</summary>
- </member>
- <member name="M:HttpServer.HttpInputItem.#ctor(System.String,System.String)">
- <summary>
- Initializes an input item setting its name/identifier and value
- </summary>
- <param name="name">Parameter name/id</param>
- <param name="value">Parameter value</param>
- </member>
- <member name="M:HttpServer.HttpInputItem.#ctor(HttpServer.HttpInputItem)">
- <summary>Creates a deep copy of the item specified</summary>
- <param name="item">The item to copy</param>
- <remarks>The function makes a deep copy of quite a lot which can be slow</remarks>
- </member>
- <member name="P:HttpServer.HttpInputItem.Count">
- <summary>
- Number of values
- </summary>
- </member>
- <member name="P:HttpServer.HttpInputItem.Item(System.String)">
- <summary>
- Get a sub item
- </summary>
- <param name="name">name in lower case.</param>
- <returns><see cref="F:HttpServer.HttpInputItem.Empty"/> if no item was found.</returns>
- </member>
- <member name="P:HttpServer.HttpInputItem.Name">
- <summary>
- Name of item (in lower case).
- </summary>
- </member>
- <member name="P:HttpServer.HttpInputItem.Value">
- <summary>
- Returns the first value, or null if no value exist.
- </summary>
- </member>
- <member name="P:HttpServer.HttpInputItem.LastValue">
- <summary>
- Returns the last value, or null if no value exist.
- </summary>
- </member>
- <member name="P:HttpServer.HttpInputItem.Values">
- <summary>
- Returns the list with values.
- </summary>
- </member>
- <member name="M:HttpServer.HttpInputItem.Add(System.String)">
- <summary>
- Add another value to this item
- </summary>
- <param name="value">Value to add.</param>
- <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
- </member>
- <member name="M:HttpServer.HttpInputItem.Contains(System.String)">
- <summary>
- checks if a sub-item exists (and has a value).
- </summary>
- <param name="name">name in lower case</param>
- <returns>true if the sub-item exists and has a value; otherwise false.</returns>
- </member>
- <member name="M:HttpServer.HttpInputItem.ToString">
- <summary> Returns a formatted representation of the instance with the values of all contained parameters </summary>
- </member>
- <member name="M:HttpServer.HttpInputItem.ToString(System.String,System.Boolean)">
- <summary>
- Outputs the string in a formatted manner
- </summary>
- <param name="prefix">A prefix to append, used internally</param>
- <param name="asQuerySting">produce a query string</param>
- </member>
- <member name="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)">
- <summary>
-
- </summary>
- <param name="name">name in lower case</param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.HttpInputItem.Add(System.String,System.String)">
- <summary>
- Add a sub item.
- </summary>
- <param name="name">Can contain array formatting, the item is then parsed and added in multiple levels</param>
- <param name="value">Value to add.</param>
- <exception cref="T:System.ArgumentNullException">Argument is null.</exception>
- <exception cref="T:System.InvalidOperationException">Cannot add stuff to <see cref="F:HttpServer.HttpInput.Empty"/>.</exception>
- </member>
- <member name="M:HttpServer.HttpInputItem.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
- <summary>
- Returns an enumerator that iterates through the collection.
- </summary>
-
- <returns>
- A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
- </returns>
- <filterpriority>1</filterpriority>
- </member>
- <member name="M:HttpServer.HttpInputItem.GetEnumerator">
- <summary>
- Returns an enumerator that iterates through a collection.
- </summary>
-
- <returns>
- An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
- </returns>
- <filterpriority>2</filterpriority>
- </member>
- <member name="M:HttpServer.HttpInputItem.ToString(System.String)">
- <summary>
- Outputs the string in a formatted manner
- </summary>
- <param name="prefix">A prefix to append, used internally</param>
- <returns></returns>
- </member>
- <member name="T:HttpServer.HttpListener">
- <summary>
- New implementation of the HTTP listener.
- </summary>
- <remarks>
- Use the <c>Create</c> methods to create a default listener.
- </remarks>
- </member>
- <member name="E:HttpServer.HttpListener.Accepted">
- <summary>
- A client have been accepted, but not handled, by the listener.
- </summary>
- </member>
- <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
- </summary>
- <param name="address">IP Address to accept connections on</param>
- <param name="port">TCP Port to listen on, default HTTP port is 80.</param>
- <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
- <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
- <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
- </member>
- <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
- </summary>
- <param name="address">The address.</param>
- <param name="port">The port.</param>
- <param name="factory">The factory.</param>
- <param name="certificate">The certificate.</param>
- </member>
- <member name="M:HttpServer.HttpListener.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpListener"/> class.
- </summary>
- <param name="address">The address.</param>
- <param name="port">The port.</param>
- <param name="factory">The factory.</param>
- <param name="certificate">The certificate.</param>
- <param name="protocol">The protocol.</param>
- </member>
- <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32)">
- <summary>
- Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
- </summary>
- <param name="address">Address that the listener should accept connections on.</param>
- <param name="port">Port that listener should accept connections on.</param>
- <returns>Created HTTP listener.</returns>
- </member>
- <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
- <summary>
- Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
- </summary>
- <param name="address">Address that the listener should accept connections on.</param>
- <param name="port">Port that listener should accept connections on.</param>
- <param name="certificate">Certificate to use</param>
- <returns>Created HTTP listener.</returns>
- </member>
- <member name="M:HttpServer.HttpListener.Create(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
- <summary>
- Creates a new <see cref="T:HttpServer.HttpListener"/> instance with default factories.
- </summary>
- <param name="address">Address that the listener should accept connections on.</param>
- <param name="port">Port that listener should accept connections on.</param>
- <param name="certificate">Certificate to use</param>
- <param name="protocol">which HTTPS protocol to use, default is TLS.</param>
- <returns>Created HTTP listener.</returns>
- </member>
- <member name="M:HttpServer.HttpListener.OnAcceptingSocket(System.Net.Sockets.Socket)">
- <summary>
- Can be used to create filtering of new connections.
- </summary>
- <param name="socket">Accepted socket</param>
- <returns>
- true if connection can be accepted; otherwise false.
- </returns>
- </member>
- <member name="T:HttpServer.HttpListenerBase">
- <summary>
- Contains a listener that doesn't do anything with the connections.
- </summary>
- </member>
- <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory)">
- <summary>
- Listen for regular HTTP connections
- </summary>
- <param name="address">IP Address to accept connections on</param>
- <param name="port">TCP Port to listen on, default HTTP port is 80.</param>
- <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
- <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
- <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
- </member>
- <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class.
- </summary>
- <param name="address">IP Address to accept connections on</param>
- <param name="port">TCP Port to listen on, default HTTPS port is 443</param>
- <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
- <param name="certificate">Certificate to use</param>
- </member>
- <member name="M:HttpServer.HttpListenerBase.#ctor(System.Net.IPAddress,System.Int32,HttpServer.IHttpContextFactory,System.Security.Cryptography.X509Certificates.X509Certificate,System.Security.Authentication.SslProtocols)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpListenerBase"/> class.
- </summary>
- <param name="address">IP Address to accept connections on</param>
- <param name="port">TCP Port to listen on, default HTTPS port is 443</param>
- <param name="factory">Factory used to create <see cref="T:HttpServer.IHttpClientContext"/>es.</param>
- <param name="certificate">Certificate to use</param>
- <param name="protocol">which HTTPS protocol to use, default is TLS.</param>
- </member>
- <member name="P:HttpServer.HttpListenerBase.LogWriter">
- <summary>
- Gives you a change to receive log entries for all internals of the HTTP library.
- </summary>
- <remarks>
- You may not switch log writer after starting the listener.
- </remarks>
- </member>
- <member name="P:HttpServer.HttpListenerBase.UseTraceLogs">
- <summary>
- True if we should turn on trace logs.
- </summary>
- </member>
- <member name="M:HttpServer.HttpListenerBase.OnAccept(System.IAsyncResult)">
- <exception cref="T:System.Exception"><c>Exception</c>.</exception>
- </member>
- <member name="M:HttpServer.HttpListenerBase.RetryBeginAccept">
- <summary>
- Will try to accept connections one more time.
- </summary>
- <exception cref="T:System.Exception">If any exceptions is thrown.</exception>
- </member>
- <member name="M:HttpServer.HttpListenerBase.OnAcceptingSocket(System.Net.Sockets.Socket)">
- <summary>
- Can be used to create filtering of new connections.
- </summary>
- <param name="socket">Accepted socket</param>
- <returns>true if connection can be accepted; otherwise false.</returns>
- </member>
- <member name="M:HttpServer.HttpListenerBase.Start(System.Int32)">
- <summary>
- Start listen for new connections
- </summary>
- <param name="backlog">Number of connections that can stand in a queue to be accepted.</param>
- <exception cref="T:System.InvalidOperationException">Listener have already been started.</exception>
- </member>
- <member name="M:HttpServer.HttpListenerBase.Stop">
- <summary>
- Stop the listener
- </summary>
- <exception cref="T:System.Net.Sockets.SocketException"></exception>
- </member>
- <member name="E:HttpServer.HttpListenerBase.ExceptionThrown">
- <summary>
- Catch exceptions not handled by the listener.
- </summary>
- <remarks>
- Exceptions will be thrown during debug mode if this event is not used,
- exceptions will be printed to console and suppressed during release mode.
- </remarks>
- </member>
- <member name="E:HttpServer.HttpListenerBase.RequestReceived">
- <summary>
- A request have been received from a <see cref="T:HttpServer.IHttpClientContext"/>.
- </summary>
- </member>
- <member name="T:HttpServer.HttpModules.FileModule">
- <summary>
- The purpose of this module is to serve files.
- </summary>
- </member>
- <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String,System.Boolean)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
- </summary>
- <param name="baseUri">Uri to serve, for instance "/files/"</param>
- <param name="basePath">Path on hard drive where we should start looking for files</param>
- <param name="useLastModifiedHeader">If true a Last-Modifed header will be sent upon requests urging web browser to cache files</param>
- </member>
- <member name="M:HttpServer.HttpModules.FileModule.#ctor(System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpModules.FileModule"/> class.
- </summary>
- <param name="baseUri">Uri to serve, for instance "/files/"</param>
- <param name="basePath">Path on hard drive where we should start looking for files</param>
- </member>
- <member name="P:HttpServer.HttpModules.FileModule.MimeTypes">
- <summary>
- List with all mime-type that are allowed.
- </summary>
- <remarks>All other mime types will result in a Forbidden http status code.</remarks>
- </member>
- <member name="P:HttpServer.HttpModules.FileModule.ForbiddenChars">
- <summary>
- characters that may not exist in a path.
- </summary>
- <example>
- fileMod.ForbiddenChars = new string[]{ "\\", "..", ":" };
- </example>
- </member>
- <member name="M:HttpServer.HttpModules.FileModule.AddDefaultMimeTypes">
- <summary>
- Mimtypes that this class can handle per default
- </summary>
- </member>
- <member name="M:HttpServer.HttpModules.FileModule.CanHandle(System.Uri)">
- <summary>
- Determines if the request should be handled by this module.
- Invoked by the <see cref="T:HttpServer.HttpServer"/>
- </summary>
- <param name="uri"></param>
- <returns>true if this module should handle it.</returns>
- </member>
- <member name="M:HttpServer.HttpModules.FileModule.GetPath(System.Uri)">
- <exception cref="T:HttpServer.Exceptions.BadRequestException">Illegal path</exception>
- </member>
- <member name="M:HttpServer.HttpModules.FileModule.Contains(System.String,System.Collections.Generic.IEnumerable{System.String})">
- <summary>
- check if source contains any of the chars.
- </summary>
- <param name="source"></param>
- <param name="chars"></param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.HttpModules.FileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
- <summary>
- Method that process the Uri.
- </summary>
- <param name="request">Information sent by the browser about the request</param>
- <param name="response">Information that is being sent back to the client.</param>
- <param name="session">Session used to </param>
- <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to find file extension</exception>
- <exception cref="T:HttpServer.Exceptions.ForbiddenException">File type is forbidden.</exception>
- </member>
- <member name="M:HttpServer.HttpModules.FileModule.GetFileExtension(System.String)">
- <summary>
- return a file extension from an absolute Uri path (or plain filename)
- </summary>
- <param name="uri"></param>
- <returns></returns>
- </member>
- <member name="T:HttpServer.HttpModules.HttpModule">
- <summary>
- A HttpModule can be used to serve Uri's. The module itself
- decides if it should serve a Uri or not. In this way, you can
- get a very flexible http application since you can let multiple modules
- serve almost similar urls.
- </summary>
- <remarks>
- 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.
- </remarks>
- </member>
- <member name="M:HttpServer.HttpModules.HttpModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
- <summary>
- Method that process the url
- </summary>
- <param name="request">Information sent by the browser about the request</param>
- <param name="response">Information that is being sent back to the client.</param>
- <param name="session">Session used to </param>
- <returns>true if this module handled the request.</returns>
- </member>
- <member name="M:HttpServer.HttpModules.HttpModule.SetLogWriter(HttpServer.ILogWriter)">
- <summary>
- Set the log writer to use.
- </summary>
- <param name="writer">logwriter to use.</param>
- </member>
- <member name="M:HttpServer.HttpModules.HttpModule.Write(HttpServer.LogPrio,System.String)">
- <summary>
- Log something.
- </summary>
- <param name="prio">importance of log message</param>
- <param name="message">message</param>
- </member>
- <member name="P:HttpServer.HttpModules.HttpModule.AllowSecondaryProcessing">
- <summary>
- If true specifies that the module doesn't consume the processing of a request so that subsequent modules
- can continue processing afterwards. Default is false.
- </summary>
- </member>
- <member name="T:HttpServer.HttpModules.HttpModuleExceptionEventArgs">
- <summary>
- Used to inform http server that
- </summary>
- </member>
- <member name="M:HttpServer.HttpModules.HttpModuleExceptionEventArgs.#ctor(System.Exception)">
- <summary>
- Eventarguments used when an exception is thrown by a module
- </summary>
- <param name="e">the exception</param>
- </member>
- <member name="P:HttpServer.HttpModules.HttpModuleExceptionEventArgs.Exception">
- <summary>
- Exception thrown in a module
- </summary>
- </member>
- <member name="T:HttpServer.HttpModules.ResourceFileModule">
- <summary>
- Serves files that are stored in embedded resources.
- </summary>
- </member>
- <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class.
- Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later
- through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired.
- </summary>
- </member>
- <member name="M:HttpServer.HttpModules.ResourceFileModule.#ctor(HttpServer.ILogWriter)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpModules.ResourceFileModule"/> class.
- Runs <see cref="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes"/> to make sure the basic mime types are available, they can be cleared later
- through the use of <see cref="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes"/> if desired.
- </summary>
- <param name="logWriter">The log writer to use when logging events</param>
- </member>
- <member name="P:HttpServer.HttpModules.ResourceFileModule.MimeTypes">
- <summary>
- List with all mime-type that are allowed.
- </summary>
- <remarks>All other mime types will result in a Forbidden http status code.</remarks>
- </member>
- <member name="M:HttpServer.HttpModules.ResourceFileModule.AddDefaultMimeTypes">
- <summary>
- Mimtypes that this class can handle per default
- </summary>
- </member>
- <member name="M:HttpServer.HttpModules.ResourceFileModule.AddResources(System.String,System.Reflection.Assembly,System.String)">
- <summary>
- Loads resources from a namespace in the given assembly to an uri
- </summary>
- <param name="toUri">The uri to map the resources to</param>
- <param name="fromAssembly">The assembly in which the resources reside</param>
- <param name="fromNamespace">The namespace from which to load the resources</param>
- <usage>
- resourceLoader.LoadResources("/user/", typeof(User).Assembly, "MyLib.Models.User.Views");
-
- will make ie the resource MyLib.Models.User.Views.stylesheet.css accessible via /user/stylesheet.css
- </usage>
- <returns>The amount of loaded files, giving you the possibility of making sure the resources needed gets loaded</returns>
- </member>
- <member name="M:HttpServer.HttpModules.ResourceFileModule.CanHandle(HttpServer.IHttpRequest)">
- <summary>
- Returns true if the module can handle the request
- </summary>
- </member>
- <member name="M:HttpServer.HttpModules.ResourceFileModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
- <summary>
- Method that process the url
- </summary>
- <param name="request">Information sent by the browser about the request</param>
- <param name="response">Information that is being sent back to the client.</param>
- <param name="session">Session used to </param>
- <returns>true if this module handled the request.</returns>
- </member>
- <member name="T:HttpServer.HttpModules.ReverseProxyModule">
- <summary>
- A reverse proxy are used to act as a bridge between local (protected/hidden) websites
- and public clients.
-
- A typical usage is to allow web servers on non standard ports to still be available
- to the public clients, or allow web servers on private ips to be available.
- </summary>
- </member>
- <member name="M:HttpServer.HttpModules.ReverseProxyModule.#ctor(System.String,System.String)">
- <summary>
-
- </summary>
- <param name="source">Base url requested from browser</param>
- <param name="destination">Base url on private web server</param>
- <example>
- // this will return contents from http://192.168.1.128/view/jonas when client requests http://www.gauffin.com/user/view/jonas
- _server.Add(new ReverseProxyModule("http://www.gauffin.com/user/", "http://192.168.1.128/");
- </example>
- </member>
- <member name="M:HttpServer.HttpModules.ReverseProxyModule.CanHandle(System.Uri)">
- <summary>
- Method that determines if an url should be handled or not by the module
- </summary>
- <param name="uri">Url requested by the client.</param>
- <returns>true if module should handle the url.</returns>
- </member>
- <member name="M:HttpServer.HttpModules.ReverseProxyModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
- <summary>
- Method that process the url
- </summary>
- <param name="request">Information sent by the browser about the request</param>
- <param name="response">Information that is being sent back to the client.</param>
- <param name="session">Session used to </param>
- </member>
- <member name="T:HttpServer.HttpModules.WebSiteModule">
- <summary>
- The website module let's you handle multiple websites in the same server.
- It uses the "Host" header to check which site you want.
- </summary>
- <remarks>It's recommended that you do not
- add any other modules to HttpServer if you are using the website module. Instead,
- add all wanted modules to each website.</remarks>
- </member>
- <member name="M:HttpServer.HttpModules.WebSiteModule.#ctor(System.String,System.String)">
- <summary>
-
- </summary>
- <param name="host">domain name that should be handled.</param>
- <param name="name"></param>
- </member>
- <member name="P:HttpServer.HttpModules.WebSiteModule.SiteName">
- <summary>
- Name of site.
- </summary>
- </member>
- <member name="M:HttpServer.HttpModules.WebSiteModule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
- <summary>
- Method that process the url
- </summary>
- <param name="request">Information sent by the browser about the request</param>
- <param name="response">Information that is being sent back to the client.</param>
- <param name="session">Session used to </param>
- </member>
- <member name="T:HttpServer.HttpParam">
- <summary>
- Returns item either from a form or a query string (checks them in that order)
- </summary>
- </member>
- <member name="F:HttpServer.HttpParam.Empty">
- <summary> Representation of a non-initialized HttpParam </summary>
- </member>
- <member name="M:HttpServer.HttpParam.#ctor(HttpServer.IHttpInput,HttpServer.IHttpInput)">
- <summary>Initialises the class to hold a value either from a post request or a querystring request</summary>
- </member>
- <member name="M:HttpServer.HttpParam.Add(System.String,System.String)">
- <summary>
- The add method is not availible for HttpParam
- since HttpParam checks both Request.Form and Request.QueryString
- </summary>
- <param name="name">name identifying the value</param>
- <param name="value">value to add</param>
- <exception cref="T:System.NotImplementedException"></exception>
- </member>
- <member name="M:HttpServer.HttpParam.Contains(System.String)">
- <summary>
- Checks whether the form or querystring has the specified value
- </summary>
- <param name="name">Name, case sensitive</param>
- <returns>true if found; otherwise false.</returns>
- </member>
- <member name="P:HttpServer.HttpParam.Item(System.String)">
- <summary>
- Fetch an item from the form or querystring (in that order).
- </summary>
- <param name="name"></param>
- <returns>Item if found; otherwise HttpInputItem.EmptyLanguageNode</returns>
- </member>
- <member name="M:HttpServer.HttpParam.System#Collections#Generic#IEnumerable{HttpServer#HttpInputItem}#GetEnumerator">
- <summary>
- Returns an enumerator that iterates through the collection.
- </summary>
-
- <returns>
- A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
- </returns>
- <filterpriority>1</filterpriority>
- </member>
- <member name="M:HttpServer.HttpParam.GetEnumerator">
- <summary>
- Returns an enumerator that iterates through a collection.
- </summary>
-
- <returns>
- An <see cref="T:System.Collections.IEnumerator"></see> object that can be used to iterate through the collection.
- </returns>
- <filterpriority>2</filterpriority>
- </member>
- <member name="T:HttpServer.HttpRequest">
- <summary>
- Contains server side HTTP request information.
- </summary>
- </member>
- <member name="F:HttpServer.HttpRequest.UriSplitters">
- <summary>
- Chars used to split an URL path into multiple parts.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.Secure">
- <summary>
- Gets or sets a value indicating whether this <see cref="T:HttpServer.HttpRequest"/> is secure.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.UriPath">
- <summary>
- Path and query (will be merged with the host header) and put in Uri
- </summary>
- <see cref="P:HttpServer.HttpRequest.Uri"/>
- </member>
- <member name="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)">
- <summary>
- Assign a form.
- </summary>
- <param name="form"></param>
- </member>
- <member name="P:HttpServer.HttpRequest.BodyIsComplete">
- <summary>
- Gets whether the body is complete.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.AcceptTypes">
- <summary>
- Gets kind of types accepted by the client.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.Body">
- <summary>
- Gets or sets body stream.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.Connection">
- <summary>
- Gets or sets kind of connection used for the session.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.ContentLength">
- <summary>
- Gets or sets number of bytes in the body.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.Headers">
- <summary>
- Gets headers sent by the client.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.HttpVersion">
- <summary>
- Gets or sets version of HTTP protocol that's used.
- </summary>
- <remarks>
- Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>.
- </remarks>
- <seealso cref="T:HttpServer.HttpHelper"/>
- </member>
- <member name="P:HttpServer.HttpRequest.Method">
- <summary>
- Gets or sets requested method.
- </summary>
- <value></value>
- <remarks>
- Will always be in upper case.
- </remarks>
- <see cref="!:HttpServer.Method"/>
- </member>
- <member name="P:HttpServer.HttpRequest.QueryString">
- <summary>
- Gets variables sent in the query string
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.Uri">
- <summary>
- Gets or sets requested URI.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.UriParts">
- <summary>
- Uri absolute path splitted into parts.
- </summary>
- <example>
- // uri is: http://gauffin.com/code/tiny/
- Console.WriteLine(request.UriParts[0]); // result: code
- Console.WriteLine(request.UriParts[1]); // result: tiny
- </example>
- <remarks>
- If you're using controllers than the first part is controller name,
- the second part is method name and the third part is Id property.
- </remarks>
- <seealso cref="P:HttpServer.HttpRequest.Uri"/>
- </member>
- <member name="P:HttpServer.HttpRequest.Param">
- <summary>
- Gets parameter from <see cref="P:HttpServer.HttpRequest.QueryString"/> or <see cref="P:HttpServer.HttpRequest.Form"/>.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.Form">
- <summary>
- Gets form parameters.
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.IsAjax">
- <summary>
- Gets whether the request was made by Ajax (Asynchronous JavaScript)
- </summary>
- </member>
- <member name="P:HttpServer.HttpRequest.Cookies">
- <summary>
- Gets cookies that was sent with the request.
- </summary>
- </member>
- <member name="M:HttpServer.HttpRequest.Clone">
- <summary>
- Creates a new object that is a copy of the current instance.
- </summary>
-
- <returns>
- A new object that is a copy of this instance.
- </returns>
- <filterpriority>2</filterpriority>
- </member>
- <member name="M:HttpServer.HttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
- <summary>
- Decode body into a form.
- </summary>
- <param name="providers">A list with form decoders.</param>
- <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
- <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
- </member>
- <member name="M:HttpServer.HttpRequest.SetCookies(HttpServer.RequestCookies)">
- <summary>
- Cookies
- </summary>
- <param name="cookies">the cookies</param>
- </member>
- <member name="M:HttpServer.HttpRequest.CreateResponse(HttpServer.IHttpClientContext)">
- <summary>
- Create a response object.
- </summary>
- <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns>
- </member>
- <member name="M:HttpServer.HttpRequest.AddHeader(System.String,System.String)">
- <summary>
- Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>.
- </summary>
- <param name="name">Name of the header, should not be URL encoded</param>
- <param name="value">Value of the header, should not be URL encoded</param>
- <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
- </member>
- <member name="M:HttpServer.HttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Add bytes to the body
- </summary>
- <param name="bytes">buffer to read bytes from</param>
- <param name="offset">where to start read</param>
- <param name="length">number of bytes to read</param>
- <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
- <exception cref="T:System.InvalidOperationException">If body is not writable</exception>
- <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception>
- <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception>
- </member>
- <member name="M:HttpServer.HttpRequest.Clear">
- <summary>
- Clear everything in the request
- </summary>
- </member>
- <member name="T:HttpServer.HttpResponse">
- <summary>
- Response that is sent back to the web browser / client.
- </summary>
- <remarks>
- <para>
- A response can be sent if different ways. The easiest one is
- to just fill the Body stream with content, everything else
- will then be taken care of by the framework. The default content-type
- is text/html, you should change it if you send anything else.
- </para><para>
- The second and slightly more complex way is to send the response
- as parts. Start with sending the header using the SendHeaders method and
- then you can send the body using SendBody method, but do not forget
- to set <see cref="P:HttpServer.HttpResponse.ContentType"/> and <see cref="P:HttpServer.HttpResponse.ContentLength"/> before doing so.
- </para>
- </remarks>
- <example>
- <code>
- // Example using response body.
- class MyModule : HttpModule
- {
- public override bool Process(IHttpRequest request, IHttpResponse response, IHttpSession session)
- {
- StreamWriter writer = new StreamWriter(response.Body);
- writer.WriteLine("Hello dear World!");
- writer.Flush();
-
- // return true to tell webserver that we've handled the url
- return true;
- }
- }
- </code>
- </example>
- todo: add two examples, using SendHeaders/SendBody and just the Body stream.
- </member>
- <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class.
- </summary>
- <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param>
- <param name="request">Contains information of what the client want to receive.</param>
- <exception cref="T:System.ArgumentException"><see cref="P:HttpServer.IHttpRequest.HttpVersion"/> cannot be empty.</exception>
- </member>
- <member name="M:HttpServer.HttpResponse.#ctor(HttpServer.IHttpClientContext,System.String,HttpServer.ConnectionType)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.IHttpResponse"/> class.
- </summary>
- <param name="context">Client that send the <see cref="T:HttpServer.IHttpRequest"/>.</param>
- <param name="httpVersion">Version of HTTP protocol that the client uses.</param>
- <param name="connectionType">Type of HTTP connection used.</param>
- </member>
- <member name="P:HttpServer.HttpResponse.Body">
- <summary>
- The body stream is used to cache the body contents
- before sending everything to the client. It's the simplest
- way to serve documents.
- </summary>
- </member>
- <member name="P:HttpServer.HttpResponse.Chunked">
- <summary>
- The chunked encoding modifies the body of a message in order to
- transfer it as a series of chunks, each with its own size indicator,
- followed by an OPTIONAL trailer containing entity-header fields. This
- allows dynamically produced content to be transferred along with the
- information necessary for the recipient to verify that it has
- received the full message.
- </summary>
- </member>
- <member name="P:HttpServer.HttpResponse.ProtocolVersion">
- <summary>
- Defines the version of the HTTP Response for applications where it's required
- for this to be forced.
- </summary>
- </member>
- <member name="P:HttpServer.HttpResponse.Connection">
- <summary>
- Kind of connection
- </summary>
- </member>
- <member name="P:HttpServer.HttpResponse.Encoding">
- <summary>
- Encoding to use when sending stuff to the client.
- </summary>
- <remarks>Default is UTF8</remarks>
- </member>
- <member name="P:HttpServer.HttpResponse.KeepAlive">
- <summary>
- Number of seconds to keep connection alive
- </summary>
- <remarks>Only used if Connection property is set to <see cref="F:HttpServer.ConnectionType.KeepAlive"/>.</remarks>
- </member>
- <member name="P:HttpServer.HttpResponse.Status">
- <summary>
- Status code that is sent to the client.
- </summary>
- <remarks>Default is <see cref="F:System.Net.HttpStatusCode.OK"/></remarks>
- </member>
- <member name="P:HttpServer.HttpResponse.Reason">
- <summary>
- Information about why a specific status code was used.
- </summary>
- </member>
- <member name="P:HttpServer.HttpResponse.ContentLength">
- <summary>
- Size of the body. MUST be specified before sending the header,
- unless property Chunked is set to true.
- </summary>
- </member>
- <member name="P:HttpServer.HttpResponse.ContentType">
- <summary>
- Kind of content in the body
- </summary>
- <remarks>Default type is "text/html"</remarks>
- </member>
- <member name="P:HttpServer.HttpResponse.HeadersSent">
- <summary>
- Headers have been sent to the client-
- </summary>
- <remarks>You can not send any additional headers if they have already been sent.</remarks>
- </member>
- <member name="P:HttpServer.HttpResponse.Sent">
- <summary>
- The whole response have been sent.
- </summary>
- </member>
- <member name="P:HttpServer.HttpResponse.Cookies">
- <summary>
- Cookies that should be created/changed.
- </summary>
- </member>
- <member name="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)">
- <summary>
- Add another header to the document.
- </summary>
- <param name="name">Name of the header, case sensitive, use lower cases.</param>
- <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>
- <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
- <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
- <remarks>Adding any header will override the default ones and those specified by properties.</remarks>
- </member>
- <member name="M:HttpServer.HttpResponse.Send">
- <summary>
- Send headers and body to the browser.
- </summary>
- <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
- </member>
- <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first.
- </summary>
- <param name="buffer"></param>
- <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
- <see cref="M:HttpServer.HttpResponse.SendHeaders"/>
- <param name="offset">offset of first byte to send</param>
- <param name="count">number of bytes to send.</param>
- <seealso cref="M:HttpServer.HttpResponse.Send"/>
- <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
- <remarks>This method can be used if you want to send body contents without caching them first. This
- is recommended for larger files to keep the memory usage low.</remarks>
- </member>
- <member name="M:HttpServer.HttpResponse.SendBody(System.Byte[])">
- <summary>
- Make sure that you have specified <see cref="P:HttpServer.HttpResponse.ContentLength"/> and sent the headers first.
- </summary>
- <param name="buffer"></param>
- <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
- <see cref="M:HttpServer.HttpResponse.SendHeaders"/>
- <seealso cref="M:HttpServer.HttpResponse.Send"/>
- <seealso cref="M:HttpServer.HttpResponse.SendHeaders"/>
- <remarks>This method can be used if you want to send body contents without caching them first. This
- is recommended for larger files to keep the memory usage low.</remarks>
- </member>
- <member name="M:HttpServer.HttpResponse.SendHeaders">
- <summary>
- Send headers to the client.
- </summary>
- <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
- <seealso cref="M:HttpServer.HttpResponse.AddHeader(System.String,System.String)"/>
- <seealso cref="M:HttpServer.HttpResponse.Send"/>
- <seealso cref="M:HttpServer.HttpResponse.SendBody(System.Byte[])"/>
- </member>
- <member name="M:HttpServer.HttpResponse.Redirect(System.Uri)">
- <summary>
- Redirect client to somewhere else using the 302 status code.
- </summary>
- <param name="uri">Destination of the redirect</param>
- <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
- <remarks>You can not do anything more with the request when a redirect have been done. This should be your last
- action.</remarks>
- </member>
- <member name="M:HttpServer.HttpResponse.Redirect(System.String)">
- <summary>
- redirect to somewhere
- </summary>
- <param name="url">where the redirect should go</param>
- <remarks>
- No body are allowed when doing redirects.
- </remarks>
- </member>
- <member name="T:HttpServer.RealmHandler">
- <summary>
- Delegate used to find a realm/domain.
- </summary>
- <param name="domain"></param>
- <returns></returns>
- <remarks>
- Realms are used during HTTP Authentication
- </remarks>
- <seealso cref="T:HttpServer.Authentication.AuthenticationModule"/>
- <seealso cref="T:HttpServer.Authentication.AuthenticationHandler"/>
- </member>
- <member name="T:HttpServer.HttpServer">
- <summary>
- A complete HTTP server, you need to add a module to it to be able to handle incoming requests.
- </summary>
- <example>
- <code>
- // this small example will add two web site modules, thus handling
- // two different sites. In reality you should add Controller modules or something
- // two the website modules to be able to handle different requests.
- HttpServer server = new HttpServer();
- server.Add(new WebSiteModule("www.gauffin.com", "Gauffin Telecom AB"));
- server.Add(new WebSiteModule("www.vapadi.se", "Remote PBX"));
-
- // start regular http
- server.Start(IPAddress.Any, 80);
-
- // start https
- server.Start(IPAddress.Any, 443, myCertificate);
- </code>
- </example>
- <seealso cref="T:HttpServer.HttpModules.HttpModule"/>
- <seealso cref="T:HttpServer.HttpModules.FileModule"/>
- <seealso cref="T:HttpServer.HttpListener"/>
- </member>
- <member name="P:HttpServer.HttpServer.Current">
- <summary>
- Server that is handling the current request.
- </summary>
- <remarks>
- Will be set as soon as a request arrives to the <see cref="T:HttpServer.HttpServer"/> object.
- </remarks>
- </member>
- <member name="M:HttpServer.HttpServer.#ctor(HttpServer.IComponentProvider)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
- </summary>
- <param name="provider">Used to get all components used in the server..</param>
- </member>
- <member name="M:HttpServer.HttpServer.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
- </summary>
- </member>
- <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
- </summary>
- <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
- <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
- <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
- </member>
- <member name="M:HttpServer.HttpServer.#ctor(HttpServer.Sessions.IHttpSessionStore)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
- </summary>
- <param name="sessionStore">A session store is used to save and retrieve sessions</param>
- <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
- </member>
- <member name="M:HttpServer.HttpServer.#ctor(HttpServer.ILogWriter)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
- </summary>
- <param name="logWriter">The log writer.</param>
- <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
- </member>
- <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.ILogWriter)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
- </summary>
- <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
- <param name="logWriter">The log writer.</param>
- <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
- <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
- <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
- </member>
- <member name="M:HttpServer.HttpServer.#ctor(HttpServer.FormDecoders.FormDecoderProvider,HttpServer.Sessions.IHttpSessionStore,HttpServer.ILogWriter)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.HttpServer"/> class.
- </summary>
- <param name="decoderProvider">Form decoders are used to convert different types of posted data to the <see cref="T:HttpServer.HttpInput"/> object types.</param>
- <param name="sessionStore">A session store is used to save and retrieve sessions</param>
- <param name="logWriter">The log writer.</param>
- <seealso cref="T:HttpServer.FormDecoders.IFormDecoder"/>
- <seealso cref="P:HttpServer.HttpServer.FormDecoderProviders"/>
- <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
- <seealso cref="T:HttpServer.Sessions.IHttpSessionStore"/>
- </member>
- <member name="P:HttpServer.HttpServer.AuthenticationModules">
- <summary>
- Modules used for authentication. The module that is is added first is used as
- the default authentication module.
- </summary>
- <remarks>Use the corresponding property
- in the <see cref="T:HttpServer.HttpModules.WebSiteModule"/> if you are using multiple websites.</remarks>
- </member>
- <member name="P:HttpServer.HttpServer.FormDecoderProviders">
- <summary>
- Form decoder providers are used to decode request body (which normally contains form data).
- </summary>
- </member>
- <member name="P:HttpServer.HttpServer.ServerName">
- <summary>
- Server name sent in HTTP responses.
- </summary>
- <remarks>
- Do NOT include version in name, since it makes it
- easier for hackers.
- </remarks>
- </member>
- <member name="P:HttpServer.HttpServer.SessionCookieName">
- <summary>
- Name of cookie where session id is stored.
- </summary>
- </member>
- <member name="P:HttpServer.HttpServer.LogWriter">
- <summary>
- Specified where logging should go.
- </summary>
- <seealso cref="T:HttpServer.NullLogWriter"/>
- <seealso cref="T:HttpServer.ConsoleLogWriter"/>
- <seealso cref="P:HttpServer.HttpServer.LogWriter"/>
- </member>
- <member name="P:HttpServer.HttpServer.BackLog">
- <summary>
- Number of connections that can wait to be accepted by the server.
- </summary>
- <remarks>Default is 10.</remarks>
- </member>
- <member name="P:HttpServer.HttpServer.MaxRequestCount">
- <summary>
- Gets or sets maximum number of allowed simultaneous requests.
- </summary>
- <remarks>
- <para>
- This property is useful in busy systems. The HTTP server
- will start queuing new requests if this limit is hit, instead
- of trying to process all incoming requests directly.
- </para>
- <para>
- The default number if allowed simultaneous requests are 10.
- </para>
- </remarks>
- </member>
- <member name="P:HttpServer.HttpServer.MaxQueueSize">
- <summary>
- Gets or sets maximum number of requests queuing to be handled.
- </summary>
- <remarks>
- <para>
- The WebServer will start turning requests away if response code
- <see cref="F:System.Net.HttpStatusCode.ServiceUnavailable"/> to indicate that the server
- is too busy to be able to handle the request.
- </para>
- </remarks>
- </member>
- <member name="M:HttpServer.HttpServer.Add(HttpServer.Rules.IRule)">
- <summary>
- Adds the specified rule.
- </summary>
- <param name="rule">The rule.</param>
- </member>
- <member name="M:HttpServer.HttpServer.Add(HttpServer.HttpModules.HttpModule)">
- <summary>
- Add a <see cref="T:HttpServer.HttpModules.HttpModule"/> to the server.
- </summary>
- <param name="module">mode to add</param>
- </member>
- <member name="M:HttpServer.HttpServer.DecodeBody(HttpServer.IHttpRequest)">
- <summary>
- Decodes the request body.
- </summary>
- <param name="request">The request.</param>
- <exception cref="T:HttpServer.Exceptions.InternalServerException">Failed to decode form data.</exception>
- </member>
- <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,System.Net.HttpStatusCode,System.String)">
- <summary>
- Generate a HTTP error page (that will be added to the response body).
- response status code is also set.
- </summary>
- <param name="response">Response that the page will be generated in.</param>
- <param name="error"><see cref="T:System.Net.HttpStatusCode"/>.</param>
- <param name="body">response body contents.</param>
- </member>
- <member name="M:HttpServer.HttpServer.ErrorPage(HttpServer.IHttpResponse,HttpServer.Exceptions.HttpException)">
- <summary>
- Generate a HTTP error page (that will be added to the response body).
- response status code is also set.
- </summary>
- <param name="response">Response that the page will be generated in.</param>
- <param name="err">exception.</param>
- </member>
- <member name="M:HttpServer.HttpServer.GetRealm(HttpServer.IHttpRequest)">
- <summary>
- Realms are used by the <see cref="T:HttpServer.Authentication.AuthenticationModule"/>s.
- </summary>
- <param name="request">HTTP request</param>
- <returns>domain/realm.</returns>
- </member>
- <member name="M:HttpServer.HttpServer.HandleRequest(HttpServer.IHttpClientContext,HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
- <summary>
- Process an incoming request.
- </summary>
- <param name="context">connection to client</param>
- <param name="request">request information</param>
- <param name="response">response that should be filled</param>
- <param name="session">session information</param>
- </member>
- <member name="M:HttpServer.HttpServer.OnClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)">
- <summary>
- Can be overloaded to implement stuff when a client have been connected.
- </summary>
- <remarks>
- Default implementation does nothing.
- </remarks>
- <param name="client">client that disconnected</param>
- <param name="error">disconnect reason</param>
- </member>
- <member name="M:HttpServer.HttpServer.ProcessAuthentication(HttpServer.IHttpRequest,HttpServer.IHttpResponse,HttpServer.Sessions.IHttpSession)">
- <summary>
- Handle authentication
- </summary>
- <param name="request"></param>
- <param name="response"></param>
- <param name="session"></param>
- <returns>true if request can be handled; false if not.</returns>
- <exception cref="T:HttpServer.Exceptions.BadRequestException">Invalid authorization header</exception>
- </member>
- <member name="M:HttpServer.HttpServer.RequestAuthentication(HttpServer.Authentication.AuthenticationModule,HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
- <summary>
- Will request authentication.
- </summary>
- <remarks>
- Sends respond to client, nothing else can be done with the response after this.
- </remarks>
- <param name="mod"></param>
- <param name="request"></param>
- <param name="response"></param>
- </member>
- <member name="M:HttpServer.HttpServer.OnRequest(System.Object,HttpServer.RequestEventArgs)">
- <summary>
- Received from a <see cref="T:HttpServer.IHttpClientContext"/> when a request have been parsed successfully.
- </summary>
- <param name="source"><see cref="T:HttpServer.IHttpClientContext"/> that received the request.</param>
- <param name="args">The request.</param>
- </member>
- <member name="M:HttpServer.HttpServer.ProcessRequestWrapper(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
- <summary>
- To be able to track request count.
- </summary>
- <param name="context"></param>
- <param name="request"></param>
- </member>
- <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32)">
- <summary>
- Start the web server using regular HTTP.
- </summary>
- <param name="address">IP Address to listen on, use <c>IpAddress.Any </c>to accept connections on all IP addresses/network cards.</param>
- <param name="port">Port to listen on. 80 can be a good idea =)</param>
- <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
- <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
- </member>
- <member name="M:HttpServer.HttpServer.Start(System.Net.IPAddress,System.Int32,System.Security.Cryptography.X509Certificates.X509Certificate)">
- <summary>
- Accept secure connections.
- </summary>
- <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>
- <param name="port">Port to listen on. 80 can be a good idea =)</param>
- <param name="certificate">Certificate to use</param>
- <exception cref="T:System.ArgumentNullException"><c>address</c> is null.</exception>
- <exception cref="T:System.ArgumentException">Port must be a positive number.</exception>
- </member>
- <member name="M:HttpServer.HttpServer.Stop">
- <summary>
- shut down the server and listeners
- </summary>
- </member>
- <member name="M:HttpServer.HttpServer.WriteLog(HttpServer.LogPrio,System.String)">
- <summary>
- write an entry to the log file
- </summary>
- <param name="prio">importance of the message</param>
- <param name="message">log message</param>
- </member>
- <member name="M:HttpServer.HttpServer.WriteLog(System.Object,HttpServer.LogPrio,System.String)">
- <summary>
- write an entry to the log file
- </summary>
- <param name="source">object that wrote the message</param>
- <param name="prio">importance of the message</param>
- <param name="message">log message</param>
- </member>
- <member name="E:HttpServer.HttpServer.RealmWanted">
- <summary>
- Realms are used during HTTP authentication.
- Default realm is same as server name.
- </summary>
- </member>
- <member name="E:HttpServer.HttpServer.ExceptionThrown">
- <summary>
- Let's to receive unhandled exceptions from the threads.
- </summary>
- <remarks>
- Exceptions will be thrown during debug mode if this event is not used,
- exceptions will be printed to console and suppressed during release mode.
- </remarks>
- </member>
- <member name="T:HttpServer.IComponentProvider">
- <summary>
- Inversion of control interface.
- </summary>
- </member>
- <member name="M:HttpServer.IComponentProvider.AddInstance``1(System.Object)">
- <summary>
- Add a component instance
- </summary>
- <typeparam name="T">Interface type</typeparam>
- <param name="instance">Instance to add</param>
- </member>
- <member name="M:HttpServer.IComponentProvider.Get``1">
- <summary>
- Get a component.
- </summary>
- <typeparam name="T">Interface type</typeparam>
- <returns>Component if registered, otherwise null.</returns>
- <remarks>
- Component will get created if needed.
- </remarks>
- </member>
- <member name="M:HttpServer.IComponentProvider.Contains(System.Type)">
- <summary>
- Checks if the specified component interface have been added.
- </summary>
- <param name="interfaceType"></param>
- <returns>true if found; otherwise false.</returns>
- </member>
- <member name="M:HttpServer.IComponentProvider.Add``2">
- <summary>
- Add a component.
- </summary>
- <typeparam name="InterfaceType">Type being requested.</typeparam>
- <typeparam name="InstanceType">Type being created.</typeparam>
- </member>
- <member name="T:HttpServer.IHttpClientContext">
- <summary>
- Contains a connection to a browser/client.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpClientContext.Secured">
- <summary>
- Using SSL or other encryption method.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpClientContext.IsSecured">
- <summary>
- Using SSL or other encryption method.
- </summary>
- </member>
- <member name="M:HttpServer.IHttpClientContext.Disconnect(System.Net.Sockets.SocketError)">
- <summary>
- Disconnect from client
- </summary>
- <param name="error">error to report in the <see cref="E:HttpServer.IHttpClientContext.Disconnected"/> event.</param>
- </member>
- <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String,System.String,System.String)">
- <summary>
- Send a response.
- </summary>
- <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
- <param name="statusCode">HTTP status code</param>
- <param name="reason">reason for the status code.</param>
- <param name="body">HTML body contents, can be null or empty.</param>
- <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>
- <exception cref="T:System.ArgumentException">If <paramref name="httpVersion"/> is invalid.</exception>
- </member>
- <member name="M:HttpServer.IHttpClientContext.Respond(System.String,System.Net.HttpStatusCode,System.String)">
- <summary>
- Send a response.
- </summary>
- <param name="httpVersion">Either <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/></param>
- <param name="statusCode">HTTP status code</param>
- <param name="reason">reason for the status code.</param>
- </member>
- <member name="M:HttpServer.IHttpClientContext.Respond(System.String)">
- <summary>
- Send a response.
- </summary>
- <exception cref="T:System.ArgumentNullException"></exception>
- </member>
- <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[])">
- <summary>
- send a whole buffer
- </summary>
- <param name="buffer">buffer to send</param>
- <exception cref="T:System.ArgumentNullException"></exception>
- </member>
- <member name="M:HttpServer.IHttpClientContext.Send(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Send data using the stream
- </summary>
- <param name="buffer">Contains data to send</param>
- <param name="offset">Start position in buffer</param>
- <param name="size">number of bytes to send</param>
- <exception cref="T:System.ArgumentNullException"></exception>
- <exception cref="T:System.ArgumentOutOfRangeException"></exception>
- </member>
- <member name="M:HttpServer.IHttpClientContext.Close">
- <summary>
- Closes the streams and disposes of the unmanaged resources
- </summary>
- </member>
- <member name="E:HttpServer.IHttpClientContext.Disconnected">
- <summary>
- The context have been disconnected.
- </summary>
- <remarks>
- Event can be used to clean up a context, or to reuse it.
- </remarks>
- </member>
- <member name="E:HttpServer.IHttpClientContext.RequestReceived">
- <summary>
- A request have been received in the context.
- </summary>
- </member>
- <member name="T:HttpServer.DisconnectedEventArgs">
- <summary>
- A <see cref="T:HttpServer.IHttpClientContext"/> have been disconnected.
- </summary>
- </member>
- <member name="P:HttpServer.DisconnectedEventArgs.Error">
- <summary>
- Gets reason to why client disconnected.
- </summary>
- </member>
- <member name="M:HttpServer.DisconnectedEventArgs.#ctor(System.Net.Sockets.SocketError)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.DisconnectedEventArgs"/> class.
- </summary>
- <param name="error">Reason to disconnection.</param>
- </member>
- <member name="T:HttpServer.RequestEventArgs">
- <summary>
-
- </summary>
- </member>
- <member name="P:HttpServer.RequestEventArgs.Request">
- <summary>
- Gets received request.
- </summary>
- </member>
- <member name="M:HttpServer.RequestEventArgs.#ctor(HttpServer.IHttpRequest)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.RequestEventArgs"/> class.
- </summary>
- <param name="request">The request.</param>
- </member>
- <member name="T:HttpServer.IHttpContextHandler">
- <summary>
- Class that receives Requests from a <see cref="T:HttpServer.IHttpClientContext"/>.
- </summary>
- </member>
- <member name="M:HttpServer.IHttpContextHandler.ClientDisconnected(HttpServer.IHttpClientContext,System.Net.Sockets.SocketError)">
- <summary>
- Client have been disconnected.
- </summary>
- <param name="client">Client that was disconnected.</param>
- <param name="error">Reason</param>
- <see cref="T:HttpServer.IHttpClientContext"/>
- </member>
- <member name="M:HttpServer.IHttpContextHandler.RequestReceived(HttpServer.IHttpClientContext,HttpServer.IHttpRequest)">
- <summary>
- Invoked when a client context have received a new HTTP request
- </summary>
- <param name="client">Client that received the request.</param>
- <param name="request">Request that was received.</param>
- <see cref="T:HttpServer.IHttpClientContext"/>
- </member>
- <member name="T:HttpServer.IHttpRequest">
- <summary>
- Contains server side HTTP request information.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.AcceptTypes">
- <summary>
- Gets kind of types accepted by the client.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.Body">
- <summary>
- Gets or sets body stream.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.BodyIsComplete">
- <summary>
- Gets whether the body is complete.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.Connection">
- <summary>
- Gets or sets kind of connection used for the session.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.ContentLength">
- <summary>
- Gets or sets number of bytes in the body.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.Cookies">
- <summary>
- Gets cookies that was sent with the request.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.Form">
- <summary>
- Gets form parameters.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.Headers">
- <summary>
- Gets headers sent by the client.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.HttpVersion">
- <summary>
- Gets or sets version of HTTP protocol that's used.
- </summary>
- <remarks>
- Probably <see cref="F:HttpServer.HttpHelper.HTTP10"/> or <see cref="F:HttpServer.HttpHelper.HTTP11"/>.
- </remarks>
- <seealso cref="T:HttpServer.HttpHelper"/>
- </member>
- <member name="P:HttpServer.IHttpRequest.IsAjax">
- <summary>
- Gets whether the request was made by Ajax (Asynchronous JavaScript)
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.Method">
- <summary>
- Gets or sets requested method.
- </summary>
- <remarks>
- Will always be in upper case.
- </remarks>
- <see cref="P:HttpServer.IHttpRequest.Method"/>
- </member>
- <member name="P:HttpServer.IHttpRequest.Param">
- <summary>
- Gets parameter from <see cref="P:HttpServer.IHttpRequest.QueryString"/> or <see cref="P:HttpServer.IHttpRequest.Form"/>.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.QueryString">
- <summary>
- Gets variables sent in the query string
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.Uri">
- <summary>
- Gets or sets requested URI.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequest.UriParts">
- <summary>
- Gets URI absolute path divided into parts.
- </summary>
- <example>
- // URI is: http://gauffin.com/code/tiny/
- Console.WriteLine(request.UriParts[0]); // result: code
- Console.WriteLine(request.UriParts[1]); // result: tiny
- </example>
- <remarks>
- If you're using controllers than the first part is controller name,
- the second part is method name and the third part is Id property.
- </remarks>
- <seealso cref="P:HttpServer.IHttpRequest.Uri"/>
- </member>
- <member name="P:HttpServer.IHttpRequest.UriPath">
- <summary>
- Gets or sets path and query.
- </summary>
- <see cref="P:HttpServer.IHttpRequest.Uri"/>
- <remarks>
- Are only used during request parsing. Cannot be set after "Host" header have been
- added.
- </remarks>
- </member>
- <member name="M:HttpServer.IHttpRequest.AddHeader(System.String,System.String)">
- <summary>
- Called during parsing of a <see cref="T:HttpServer.IHttpRequest"/>.
- </summary>
- <param name="name">Name of the header, should not be URL encoded</param>
- <param name="value">Value of the header, should not be URL encoded</param>
- <exception cref="T:HttpServer.Exceptions.BadRequestException">If a header is incorrect.</exception>
- </member>
- <member name="M:HttpServer.IHttpRequest.AddToBody(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Add bytes to the body
- </summary>
- <param name="bytes">buffer to read bytes from</param>
- <param name="offset">where to start read</param>
- <param name="length">number of bytes to read</param>
- <returns>Number of bytes actually read (same as length unless we got all body bytes).</returns>
- <exception cref="T:System.InvalidOperationException">If body is not writable</exception>
- <exception cref="T:System.ArgumentNullException"><c>bytes</c> is null.</exception>
- <exception cref="T:System.ArgumentOutOfRangeException"><c>offset</c> is out of range.</exception>
- </member>
- <member name="M:HttpServer.IHttpRequest.Clear">
- <summary>
- Clear everything in the request
- </summary>
- </member>
- <member name="M:HttpServer.IHttpRequest.DecodeBody(HttpServer.FormDecoders.FormDecoderProvider)">
- <summary>
- Decode body into a form.
- </summary>
- <param name="providers">A list with form decoders.</param>
- <exception cref="T:System.IO.InvalidDataException">If body contents is not valid for the chosen decoder.</exception>
- <exception cref="T:System.InvalidOperationException">If body is still being transferred.</exception>
- </member>
- <member name="M:HttpServer.IHttpRequest.SetCookies(HttpServer.RequestCookies)">
- <summary>
- Sets the cookies.
- </summary>
- <param name="cookies">The cookies.</param>
- </member>
- <member name="M:HttpServer.IHttpRequest.CreateResponse(HttpServer.IHttpClientContext)">
- <summary>
- Create a response object.
- </summary>
- <param name="context">Context for the connected client.</param>
- <returns>A new <see cref="T:HttpServer.IHttpResponse"/>.</returns>
- </member>
- <member name="T:HttpServer.IHttpRequestParser">
- <summary>
- Event driven parser used to parse incoming HTTP requests.
- </summary>
- <remarks>
- The parser supports partial messages and keeps the states between
- each parsed buffer. It's therefore important that the parser gets
- <see cref="M:HttpServer.IHttpRequestParser.Clear"/>ed if a client disconnects.
- </remarks>
- </member>
- <member name="P:HttpServer.IHttpRequestParser.CurrentState">
- <summary>
- Current state in parser.
- </summary>
- </member>
- <member name="M:HttpServer.IHttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Parse partial or complete message.
- </summary>
- <param name="buffer">buffer containing incoming bytes</param>
- <param name="offset">where in buffer that parsing should start</param>
- <param name="count">number of bytes to parse</param>
- <returns>Unparsed bytes left in buffer.</returns>
- <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
- </member>
- <member name="E:HttpServer.IHttpRequestParser.RequestCompleted">
- <summary>
- A request have been successfully parsed.
- </summary>
- </member>
- <member name="E:HttpServer.IHttpRequestParser.BodyBytesReceived">
- <summary>
- More body bytes have been received.
- </summary>
- </member>
- <member name="E:HttpServer.IHttpRequestParser.RequestLineReceived">
- <summary>
- Request line have been received.
- </summary>
- </member>
- <member name="E:HttpServer.IHttpRequestParser.HeaderReceived">
- <summary>
- A header have been received.
- </summary>
- </member>
- <member name="M:HttpServer.IHttpRequestParser.Clear">
- <summary>
- Clear parser state.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequestParser.LogWriter">
- <summary>
- Gets or sets the log writer.
- </summary>
- </member>
- <member name="T:HttpServer.RequestParserState">
- <summary>
- Current state in the parsing.
- </summary>
- </member>
- <member name="F:HttpServer.RequestParserState.FirstLine">
- <summary>
- Should parse the request line
- </summary>
- </member>
- <member name="F:HttpServer.RequestParserState.HeaderName">
- <summary>
- Searching for a complete header name
- </summary>
- </member>
- <member name="F:HttpServer.RequestParserState.AfterName">
- <summary>
- Searching for colon after header name (ignoring white spaces)
- </summary>
- </member>
- <member name="F:HttpServer.RequestParserState.Between">
- <summary>
- Searching for start of header value (ignoring white spaces)
- </summary>
- </member>
- <member name="F:HttpServer.RequestParserState.HeaderValue">
- <summary>
- Searching for a complete header value (can span over multiple lines, as long as they are prefixed with one/more whitespaces)
- </summary>
- </member>
- <member name="F:HttpServer.RequestParserState.Body">
- <summary>
- Adding bytes to body
- </summary>
- </member>
- <member name="T:HttpServer.IHttpResponse">
- <summary>
- Response that is sent back to the web browser / client.
-
- A response can be sent if different ways. The easiest one is
- to just fill the Body stream with content, everything else
- will then be taken care of by the framework. The default content-type
- is text/html, you should change it if you send anything else.
-
- The second and slighty more complex way is to send the response
- as parts. Start with sending the header using the SendHeaders method and
- then you can send the body using SendBody method, but do not forget
- to set ContentType and ContentLength before doing so.
- </summary>
- <example>
- public void MyHandler(IHttpRequest request, IHttpResponse response)
- {
-
- }
- </example>
- </member>
- <member name="P:HttpServer.IHttpResponse.Body">
- <summary>
- The body stream is used to cache the body contents
- before sending everything to the client. It's the simplest
- way to serve documents.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpResponse.ProtocolVersion">
- <summary>
- Defines the version of the HTTP Response for applications where it's required
- for this to be forced.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpResponse.Chunked">
- <summary>
- The chunked encoding modifies the body of a message in order to
- transfer it as a series of chunks, each with its own size indicator,
- followed by an OPTIONAL trailer containing entity-header fields. This
- allows dynamically produced content to be transferred along with the
- information necessary for the recipient to verify that it has
- received the full message.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpResponse.Connection">
- <summary>
- Kind of connection
- </summary>
- </member>
- <member name="P:HttpServer.IHttpResponse.Encoding">
- <summary>
- Encoding to use when sending stuff to the client.
- </summary>
- <remarks>Default is UTF8</remarks>
- </member>
- <member name="P:HttpServer.IHttpResponse.KeepAlive">
- <summary>
- Number of seconds to keep connection alive
- </summary>
- <remarks>Only used if Connection property is set to ConnectionType.KeepAlive</remarks>
- </member>
- <member name="P:HttpServer.IHttpResponse.Status">
- <summary>
- Status code that is sent to the client.
- </summary>
- <remarks>Default is HttpStatusCode.Ok</remarks>
- </member>
- <member name="P:HttpServer.IHttpResponse.Reason">
- <summary>
- Information about why a specific status code was used.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpResponse.ContentLength">
- <summary>
- Size of the body. MUST be specified before sending the header,
- unless property Chunked is set to true.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpResponse.ContentType">
- <summary>
- Kind of content in the body
- </summary>
- <remarks>Default is text/html</remarks>
- </member>
- <member name="P:HttpServer.IHttpResponse.HeadersSent">
- <summary>
- Headers have been sent to the client-
- </summary>
- <remarks>You can not send any additional headers if they have already been sent.</remarks>
- </member>
- <member name="P:HttpServer.IHttpResponse.Sent">
- <summary>
- The whole response have been sent.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpResponse.Cookies">
- <summary>
- Cookies that should be created/changed.
- </summary>
- </member>
- <member name="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)">
- <summary>
- Add another header to the document.
- </summary>
- <param name="name">Name of the header, case sensitive, use lower cases.</param>
- <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>
- <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
- <exception cref="T:System.ArgumentException">If value conditions have not been met.</exception>
- <remarks>Adding any header will override the default ones and those specified by properties.</remarks>
- </member>
- <member name="M:HttpServer.IHttpResponse.Send">
- <summary>
- Send headers and body to the browser.
- </summary>
- <exception cref="T:System.InvalidOperationException">If content have already been sent.</exception>
- </member>
- <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Make sure that you have specified ContentLength and sent the headers first.
- </summary>
- <param name="buffer"></param>
- <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
- <see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
- <param name="offset">offest of first byte to send</param>
- <param name="count">number of bytes to send.</param>
- <seealso cref="M:HttpServer.IHttpResponse.Send"/>
- <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
- <remarks>This method can be used if you want to send body contents without caching them first. This
- is recommended for larger files to keep the memory usage low.</remarks>
- </member>
- <member name="M:HttpServer.IHttpResponse.SendBody(System.Byte[])">
- <summary>
- Make sure that you have specified ContentLength and sent the headers first.
- </summary>
- <param name="buffer"></param>
- <exception cref="T:System.InvalidOperationException">If headers have not been sent.</exception>
- <see cref="M:HttpServer.IHttpResponse.SendHeaders"/>
- <seealso cref="M:HttpServer.IHttpResponse.Send"/>
- <seealso cref="M:HttpServer.IHttpResponse.SendHeaders"/>
- <remarks>This method can be used if you want to send body contents without caching them first. This
- is recommended for larger files to keep the memory usage low.</remarks>
- </member>
- <member name="M:HttpServer.IHttpResponse.SendHeaders">
- <summary>
- Send headers to the client.
- </summary>
- <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
- <seealso cref="M:HttpServer.IHttpResponse.AddHeader(System.String,System.String)"/>
- <seealso cref="M:HttpServer.IHttpResponse.Send"/>
- <seealso cref="M:HttpServer.IHttpResponse.SendBody(System.Byte[])"/>
- </member>
- <member name="M:HttpServer.IHttpResponse.Redirect(System.Uri)">
- <summary>
- Redirect client to somewhere else using the 302 status code.
- </summary>
- <param name="uri">Destination of the redirect</param>
- <exception cref="T:System.InvalidOperationException">If headers already been sent.</exception>
- <remarks>You can not do anything more with the request when a redirect have been done. This should be your last
- action.</remarks>
- </member>
- <member name="M:HttpServer.IHttpResponse.Redirect(System.String)">
- <summary>
- redirect to somewhere
- </summary>
- <param name="url">where the redirect should go</param>
- <remarks>
- No body are allowed when doing redirects.
- </remarks>
- </member>
- <member name="T:HttpServer.ConnectionType">
- <summary>
- Type of HTTP connection
- </summary>
- </member>
- <member name="F:HttpServer.ConnectionType.Close">
- <summary>
- Connection is closed after each request-response
- </summary>
- </member>
- <member name="F:HttpServer.ConnectionType.KeepAlive">
- <summary>
- Connection is kept alive for X seconds (unless another request have been made)
- </summary>
- </member>
- <member name="T:HttpServer.LogPrio">
- <summary>
- Priority for log entries
- </summary>
- <seealso cref="T:HttpServer.ILogWriter"/>
- </member>
- <member name="F:HttpServer.LogPrio.Trace">
- <summary>
- Very detailed logs to be able to follow the flow of the program.
- </summary>
- </member>
- <member name="F:HttpServer.LogPrio.Debug">
- <summary>
- Logs to help debug errors in the application
- </summary>
- </member>
- <member name="F:HttpServer.LogPrio.Info">
- <summary>
- Information to be able to keep track of state changes etc.
- </summary>
- </member>
- <member name="F:HttpServer.LogPrio.Warning">
- <summary>
- Something did not go as we expected, but it's no problem.
- </summary>
- </member>
- <member name="F:HttpServer.LogPrio.Error">
- <summary>
- Something that should not fail failed, but we can still keep
- on going.
- </summary>
- </member>
- <member name="F:HttpServer.LogPrio.Fatal">
- <summary>
- Something failed, and we cannot handle it properly.
- </summary>
- </member>
- <member name="T:HttpServer.ILogWriter">
- <summary>
- Interface used to write to log files.
- </summary>
- </member>
- <member name="M:HttpServer.ILogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
- <summary>
- Write an entry to the log file.
- </summary>
- <param name="source">object that is writing to the log</param>
- <param name="priority">importance of the log message</param>
- <param name="message">the message</param>
- </member>
- <member name="T:HttpServer.ConsoleLogWriter">
- <summary>
- This class writes to the console. It colors the output depending on the logprio and includes a 3-level stacktrace (in debug mode)
- </summary>
- <seealso cref="T:HttpServer.ILogWriter"/>
- </member>
- <member name="F:HttpServer.ConsoleLogWriter.Instance">
- <summary>
- The actual instance of this class.
- </summary>
- </member>
- <member name="M:HttpServer.ConsoleLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
- <summary>
- Logwriters the specified source.
- </summary>
- <param name="source">object that wrote the logentry.</param>
- <param name="prio">Importance of the log message</param>
- <param name="message">The message.</param>
- </member>
- <member name="M:HttpServer.ConsoleLogWriter.GetColor(HttpServer.LogPrio)">
- <summary>
- Get color for the specified logprio
- </summary>
- <param name="prio">prio for the log entry</param>
- <returns>A <see cref="T:System.ConsoleColor"/> for the prio</returns>
- </member>
- <member name="T:HttpServer.NullLogWriter">
- <summary>
- Default log writer, writes everything to null (nowhere).
- </summary>
- <seealso cref="T:HttpServer.ILogWriter"/>
- </member>
- <member name="F:HttpServer.NullLogWriter.Instance">
- <summary>
- The logging instance.
- </summary>
- </member>
- <member name="M:HttpServer.NullLogWriter.Write(System.Object,HttpServer.LogPrio,System.String)">
- <summary>
- Writes everything to null
- </summary>
- <param name="source">object that wrote the log entry.</param>
- <param name="prio">Importance of the log message</param>
- <param name="message">The message.</param>
- </member>
- <member name="T:HttpServer.LocklessQueue`1">
- <summary>
- A thread-safe lockless queue that supports multiple readers and
- multiple writers
- </summary>
- </member>
- <member name="T:HttpServer.LocklessQueue`1.SingleLinkNode">
- <summary>
- Provides a node container for data in a singly linked list
- </summary>
- </member>
- <member name="F:HttpServer.LocklessQueue`1.SingleLinkNode.Next">
- <summary>Pointer to the next node in list</summary>
- </member>
- <member name="F:HttpServer.LocklessQueue`1.SingleLinkNode.Item">
- <summary>The data contained by the node</summary>
- </member>
- <member name="M:HttpServer.LocklessQueue`1.SingleLinkNode.#ctor">
- <summary>
- Constructor
- </summary>
- </member>
- <member name="M:HttpServer.LocklessQueue`1.SingleLinkNode.#ctor(`0)">
- <summary>
- Constructor
- </summary>
- </member>
- <member name="F:HttpServer.LocklessQueue`1.head">
- <summary>Queue head</summary>
- </member>
- <member name="F:HttpServer.LocklessQueue`1.tail">
- <summary>Queue tail</summary>
- </member>
- <member name="F:HttpServer.LocklessQueue`1.count">
- <summary>Queue item count</summary>
- </member>
- <member name="P:HttpServer.LocklessQueue`1.Count">
- <summary>Gets the current number of items in the queue. Since this
- is a lockless collection this value should be treated as a close
- estimate</summary>
- </member>
- <member name="M:HttpServer.LocklessQueue`1.#ctor">
- <summary>
- Constructor
- </summary>
- </member>
- <member name="M:HttpServer.LocklessQueue`1.Enqueue(`0)">
- <summary>
- Enqueue an item
- </summary>
- <param name="item">Item to enqeue</param>
- </member>
- <member name="M:HttpServer.LocklessQueue`1.TryDequeue(`0@)">
- <summary>
- Try to dequeue an item
- </summary>
- <param name="item">Dequeued item if the dequeue was successful</param>
- <returns>True if an item was successfully deqeued, otherwise false</returns>
- </member>
- <member name="T:HttpServer.Method">
- <summary>
- Contains all HTTP Methods (according to the HTTP 1.1 specification)
- <para>
- See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
- </para>
- </summary>
- </member>
- <member name="F:HttpServer.Method.Delete">
- <summary>
- The DELETE method requests that the origin server delete the resource identified by the Request-URI.
- </summary>
- <remarks>
- <para>
- This method MAY be overridden by human intervention (or other means) on the origin server.
- The client cannot be guaranteed that the operation has been carried out, even if the status code
- returned from the origin server indicates that the action has been completed successfully.
- </para>
- <para>
- However, the server SHOULD NOT indicate success unless, at the time the response is given,
- it intends to delete the resource or move it to an inaccessible location.
- </para>
- <para>
- A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
- 202 (Accepted) if the action has not yet been enacted,
- or 204 (No Content) if the action has been enacted but the response does not include an entity.
- </para>
- <para>
- If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
- those entries SHOULD be treated as stale. Responses to this method are not cacheable.
- </para>
- </remarks>
- </member>
- <member name="F:HttpServer.Method.Get">
- <summary>
- The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
- </summary>
- <remarks>
- <para>
- If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
- entity in the response and not the source text of the process, unless that text happens to be the output of the process.
- </para>
- <para>
- The semantics of the GET method change to a "conditional GET" if the request message includes an
- If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
- A conditional GET method requests that the entity be transferred only under the circumstances described
- by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
- usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
- data already held by the client.
- </para>
- </remarks>
- </member>
- <member name="F:HttpServer.Method.Header">
- <summary>
- The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
- </summary>
- <remarks>
- The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
- information sent in response to a GET request. This method can be used for obtaining meta information about
- the entity implied by the request without transferring the entity-body itself.
-
- This method is often used for testing hypertext links for validity, accessibility, and recent modification.
- </remarks>
- </member>
- <member name="F:HttpServer.Method.Options">
- <summary>
- <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>
- </summary>
- <remarks>
- <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>
- </remarks>
- </member>
- <member name="F:HttpServer.Method.Post">
- <summary>
- The POST method is used to request that the origin server accept the entity enclosed
- in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
- </summary>
- <remarks>
- POST is designed to allow a uniform method to cover the following functions:
- <list type="bullet">
- <item>
- Annotation of existing resources;
- </item><item>
- Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
- </item><item>
- Providing a block of data, such as the result of submitting a form, to a data-handling process;
- </item><item>
- Extending a database through an append operation.
- </item>
- </list>
- <para>
- If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
- contain an entity which describes the status of the request and refers to the new resource, and a
- Location header (see section 14.30).
- </para>
- <para>
- The action performed by the POST method might not result in a resource that can be identified by a URI.
- In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
- whether or not the response includes an entity that describes the result.
- </para><para>
- Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
- or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
- to retrieve a cacheable resource.
- </para>
- </remarks>
- </member>
- <member name="F:HttpServer.Method.Put">
- <summary>
- The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
- </summary>
- <remarks>
- <list type="bullet">
- <item>
- If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
- modified version of the one residing on the origin server.
- </item><item>
- If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
- resource by the requesting user agent, the origin server can create the resource with that URI.
- </item><item>
- If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
- </item><item>
- If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
- indicate successful completion of the request.
- </item><item>
- If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
- given that reflects the nature of the problem.
- </item>
- </list>
- <para>
- The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
- understand or implement and MUST return a 501 (Not Implemented) response in such cases.
- </para>
- </remarks>
- </member>
- <member name="F:HttpServer.Method.Trace">
- <summary>
- The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
- </summary>
- </member>
- <member name="T:HttpServer.Methods">
- <summary>
- Contains all HTTP Methods (according to the HTTP 1.1 specification)
- <para>
- See: http://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html
- </para>
- </summary>
- </member>
- <member name="F:HttpServer.Methods.Delete">
- <summary>
- The DELETE method requests that the origin server delete the resource identified by the Request-URI.
- </summary>
- <remarks>
- <para>
- This method MAY be overridden by human intervention (or other means) on the origin server.
- The client cannot be guaranteed that the operation has been carried out, even if the status code
- returned from the origin server indicates that the action has been completed successfully.
- </para>
- <para>
- However, the server SHOULD NOT indicate success unless, at the time the response is given,
- it intends to delete the resource or move it to an inaccessible location.
- </para>
- <para>
- A successful response SHOULD be 200 (OK) if the response includes an entity describing the status,
- 202 (Accepted) if the action has not yet been enacted,
- or 204 (No Content) if the action has been enacted but the response does not include an entity.
- </para>
- <para>
- If the request passes through a cache and the Request-URI identifies one or more currently cached entities,
- those entries SHOULD be treated as stale. Responses to this method are not cacheable.
- </para>
- </remarks>
- </member>
- <member name="F:HttpServer.Methods.Get">
- <summary>
- The GET method means retrieve whatever information (in the form of an entity) is identified by the Request-URI.
- </summary>
- <remarks>
- <para>
- If the Request-URI refers to a data-producing process, it is the produced data which shall be returned as the
- entity in the response and not the source text of the process, unless that text happens to be the output of the process.
- </para>
- <para>
- The semantics of the GET method change to a "conditional GET" if the request message includes an
- If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match, or If-Range header field.
- A conditional GET method requests that the entity be transferred only under the circumstances described
- by the conditional header field(s). The conditional GET method is intended to reduce unnecessary network
- usage by allowing cached entities to be refreshed without requiring multiple requests or transferring
- data already held by the client.
- </para>
- </remarks>
- </member>
- <member name="F:HttpServer.Methods.Header">
- <summary>
- The HEAD method is identical to GET except that the server MUST NOT return a message-body in the response.
- </summary>
- <remarks>
- The meta information contained in the HTTP headers in response to a HEAD request SHOULD be identical to the
- information sent in response to a GET request. This method can be used for obtaining meta information about
- the entity implied by the request without transferring the entity-body itself.
-
- This method is often used for testing hypertext links for validity, accessibility, and recent modification.
- </remarks>
- </member>
- <member name="F:HttpServer.Methods.Options">
- <summary>
- <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>
- </summary>
- <remarks>
- <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>
- </remarks>
- </member>
- <member name="F:HttpServer.Methods.Post">
- <summary>
- The POST method is used to request that the origin server accept the entity enclosed
- in the request as a new subordinate of the resource identified by the Request-URI in the Request-Line.
- </summary>
- <remarks>
- POST is designed to allow a uniform method to cover the following functions:
- <list type="bullet">
- <item>
- Annotation of existing resources;
- </item><item>
- Posting a message to a bulletin board, newsgroup, mailing list, or similar group of articles;
- </item><item>
- Providing a block of data, such as the result of submitting a form, to a data-handling process;
- </item><item>
- Extending a database through an append operation.
- </item>
- </list>
- <para>
- If a resource has been created on the origin server, the response SHOULD be 201 (Created) and
- contain an entity which describes the status of the request and refers to the new resource, and a
- Location header (see section 14.30).
- </para>
- <para>
- The action performed by the POST method might not result in a resource that can be identified by a URI.
- In this case, either 200 (OK) or 204 (No Content) is the appropriate response status, depending on
- whether or not the response includes an entity that describes the result.
- </para><para>
- Responses to this method are not cacheable, unless the response includes appropriate Cache-Control
- or Expires header fields. However, the 303 (See Other) response can be used to direct the user agent
- to retrieve a cacheable resource.
- </para>
- </remarks>
- </member>
- <member name="F:HttpServer.Methods.Put">
- <summary>
- The PUT method requests that the enclosed entity be stored under the supplied Request-URI.
- </summary>
- <remarks>
- <list type="bullet">
- <item>
- If the Request-URI refers to an already existing resource, the enclosed entity SHOULD be considered as a
- modified version of the one residing on the origin server.
- </item><item>
- If the Request-URI does not point to an existing resource, and that URI is capable of being defined as a new
- resource by the requesting user agent, the origin server can create the resource with that URI.
- </item><item>
- If a new resource is created, the origin server MUST inform the user agent via the 201 (Created) response.
- </item><item>
- If an existing resource is modified, either the 200 (OK) or 204 (No Content) response codes SHOULD be sent to
- indicate successful completion of the request.
- </item><item>
- If the resource could not be created or modified with the Request-URI, an appropriate error response SHOULD be
- given that reflects the nature of the problem.
- </item>
- </list>
- <para>
- The recipient of the entity MUST NOT ignore any Content-* (e.g. Content-Range) headers that it does not
- understand or implement and MUST return a 501 (Not Implemented) response in such cases.
- </para>
- </remarks>
- </member>
- <member name="F:HttpServer.Methods.Trace">
- <summary>
- The TRACE method is used to invoke a remote, application-layer loop- back of the request message.
- </summary>
- </member>
- <member name="T:HttpServer.Parser.BodyEventArgs">
- <summary>
- Arguments used when more body bytes have come.
- </summary>
- </member>
- <member name="M:HttpServer.Parser.BodyEventArgs.#ctor(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class.
- </summary>
- <param name="buffer">buffer that contains the received bytes.</param>
- <param name="offset">offset in buffer where to start processing.</param>
- <param name="count">number of bytes from <paramref name="offset"/> that should be parsed.</param>
- </member>
- <member name="M:HttpServer.Parser.BodyEventArgs.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Parser.BodyEventArgs"/> class.
- </summary>
- </member>
- <member name="P:HttpServer.Parser.BodyEventArgs.Buffer">
- <summary>
- Gets or sets buffer that contains the received bytes.
- </summary>
- </member>
- <member name="P:HttpServer.Parser.BodyEventArgs.Count">
- <summary>
- Gets or sets number of bytes from <see cref="P:HttpServer.Parser.BodyEventArgs.Offset"/> that should be parsed.
- </summary>
- </member>
- <member name="P:HttpServer.Parser.BodyEventArgs.Offset">
- <summary>
- Gets or sets offset in buffer where to start processing.
- </summary>
- </member>
- <member name="T:HttpServer.Parser.HeaderEventArgs">
- <summary>
- Event arguments used when a new header have been parsed.
- </summary>
- </member>
- <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor(System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class.
- </summary>
- <param name="name">Name of header.</param>
- <param name="value">Header value.</param>
- </member>
- <member name="M:HttpServer.Parser.HeaderEventArgs.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Parser.HeaderEventArgs"/> class.
- </summary>
- </member>
- <member name="P:HttpServer.Parser.HeaderEventArgs.Name">
- <summary>
- Gets or sets header name.
- </summary>
- </member>
- <member name="P:HttpServer.Parser.HeaderEventArgs.Value">
- <summary>
- Gets or sets header value.
- </summary>
- </member>
- <member name="T:HttpServer.Parser.HttpRequestParser">
- <summary>
- Parses a HTTP request directly from a stream
- </summary>
- </member>
- <member name="M:HttpServer.Parser.HttpRequestParser.#ctor(HttpServer.ILogWriter)">
- <summary>
- Create a new request parser
- </summary>
- <param name="logWriter">delegate receiving log entries.</param>
- </member>
- <member name="M:HttpServer.Parser.HttpRequestParser.AddToBody(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Add a number of bytes to the body
- </summary>
- <param name="buffer">buffer containing more body bytes.</param>
- <param name="offset">starting offset in buffer</param>
- <param name="count">number of bytes, from offset, to read.</param>
- <returns>offset to continue from.</returns>
- </member>
- <member name="M:HttpServer.Parser.HttpRequestParser.Clear">
- <summary>
- Remove all state information for the request.
- </summary>
- </member>
- <member name="P:HttpServer.Parser.HttpRequestParser.LogWriter">
- <summary>
- Gets or sets the log writer.
- </summary>
- </member>
- <member name="M:HttpServer.Parser.HttpRequestParser.OnFirstLine(System.String)">
- <summary>
- Parse request line
- </summary>
- <param name="value"></param>
- <exception cref="T:HttpServer.Exceptions.BadRequestException">If line is incorrect</exception>
- <remarks>Expects the following format: "Method SP Request-URI SP HTTP-Version CRLF"</remarks>
- </member>
- <member name="M:HttpServer.Parser.HttpRequestParser.OnHeader(System.String,System.String)">
- <summary>
- We've parsed a new header.
- </summary>
- <param name="name">Name in lower case</param>
- <param name="value">Value, unmodified.</param>
- <exception cref="T:HttpServer.Exceptions.BadRequestException">If content length cannot be parsed.</exception>
- </member>
- <member name="P:HttpServer.Parser.HttpRequestParser.CurrentState">
- <summary>
- Current state in parser.
- </summary>
- </member>
- <member name="M:HttpServer.Parser.HttpRequestParser.Parse(System.Byte[],System.Int32,System.Int32)">
- <summary>
- Parse a message
- </summary>
- <param name="buffer">bytes to parse.</param>
- <param name="offset">where in buffer that parsing should start</param>
- <param name="count">number of bytes to parse, starting on <paramref name="offset"/>.</param>
- <returns>offset (where to start parsing next).</returns>
- <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
- </member>
- <member name="E:HttpServer.Parser.HttpRequestParser.RequestCompleted">
- <summary>
- A request have been successfully parsed.
- </summary>
- </member>
- <member name="E:HttpServer.Parser.HttpRequestParser.BodyBytesReceived">
- <summary>
- More body bytes have been received.
- </summary>
- </member>
- <member name="E:HttpServer.Parser.HttpRequestParser.RequestLineReceived">
- <summary>
- Request line have been received.
- </summary>
- </member>
- <member name="E:HttpServer.Parser.HttpRequestParser.HeaderReceived">
- <summary>
- A header have been received.
- </summary>
- </member>
- <member name="T:HttpServer.Parser.RequestLineEventArgs">
- <summary>
- Used when the request line have been successfully parsed.
- </summary>
- </member>
- <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor(System.String,System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class.
- </summary>
- <param name="httpMethod">The HTTP method.</param>
- <param name="uriPath">The URI path.</param>
- <param name="httpVersion">The HTTP version.</param>
- </member>
- <member name="M:HttpServer.Parser.RequestLineEventArgs.#ctor">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Parser.RequestLineEventArgs"/> class.
- </summary>
- </member>
- <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpMethod">
- <summary>
- Gets or sets http method.
- </summary>
- <remarks>
- Should be one of the methods declared in <see cref="T:HttpServer.Method"/>.
- </remarks>
- </member>
- <member name="P:HttpServer.Parser.RequestLineEventArgs.HttpVersion">
- <summary>
- Gets or sets the version of the HTTP protocol that the client want to use.
- </summary>
- </member>
- <member name="P:HttpServer.Parser.RequestLineEventArgs.UriPath">
- <summary>
- Gets or sets requested URI path.
- </summary>
- </member>
- <member name="T:HttpServer.RequestParserFactory">
- <summary>
- Creates request parsers when needed.
- </summary>
- </member>
- <member name="M:HttpServer.RequestParserFactory.CreateParser(HttpServer.ILogWriter)">
- <summary>
- Create a new request parser.
- </summary>
- <param name="logWriter">Used when logging should be enabled.</param>
- <returns>A new request parser.</returns>
- </member>
- <member name="T:HttpServer.IRequestParserFactory">
- <summary>
- Creates request parsers when needed.
- </summary>
- </member>
- <member name="M:HttpServer.IRequestParserFactory.CreateParser(HttpServer.ILogWriter)">
- <summary>
- Create a new request parser.
- </summary>
- <param name="logWriter">Used when logging should be enabled.</param>
- <returns>A new request parser.</returns>
- </member>
- <member name="T:HttpServer.RequestCookie">
- <summary>
- cookie sent by the client/browser
- </summary>
- <seealso cref="T:HttpServer.ResponseCookie"/>
- </member>
- <member name="M:HttpServer.RequestCookie.#ctor(System.String,System.String)">
- <summary>
- Constructor.
- </summary>
- <param name="id">cookie identifier</param>
- <param name="content">cookie content</param>
- <exception cref="T:System.ArgumentNullException">id or content is null</exception>
- <exception cref="T:System.ArgumentException">id is empty</exception>
- </member>
- <member name="M:HttpServer.RequestCookie.ToString">
- <summary>
- Gets the cookie HTML representation.
- </summary>
- <returns>cookie string</returns>
- </member>
- <member name="P:HttpServer.RequestCookie.Name">
- <summary>
- Gets the cookie identifier.
- </summary>
- </member>
- <member name="P:HttpServer.RequestCookie.Value">
- <summary>
- Cookie value. Set to null to remove cookie.
- </summary>
- </member>
- <member name="T:HttpServer.RequestCookies">
- <summary>
- This class is created as a wrapper, since there are two different cookie types in .Net (Cookie and HttpCookie).
- The framework might switch class in the future and we dont want to have to replace all instances
- </summary>
- </member>
- <member name="M:HttpServer.RequestCookies.#ctor(System.String)">
- <summary>
- Let's copy all the cookies.
- </summary>
- <param name="cookies">value from cookie header.</param>
- </member>
- <member name="M:HttpServer.RequestCookies.Add(HttpServer.RequestCookie)">
- <summary>
- Adds a cookie in the collection.
- </summary>
- <param name="cookie">cookie to add</param>
- <exception cref="T:System.ArgumentNullException">cookie is null</exception>
- </member>
- <member name="P:HttpServer.RequestCookies.Count">
- <summary>
- Gets the count of cookies in the collection.
- </summary>
- </member>
- <member name="P:HttpServer.RequestCookies.Item(System.String)">
- <summary>
- Gets the cookie of a given identifier (null if not existing).
- </summary>
- </member>
- <member name="M:HttpServer.RequestCookies.GetEnumerator">
- <summary>
- Gets a collection enumerator on the cookie list.
- </summary>
- <returns>collection enumerator</returns>
- </member>
- <member name="M:HttpServer.RequestCookies.Clear">
- <summary>
- Remove all cookies.
- </summary>
- </member>
- <member name="M:HttpServer.RequestCookies.System#Collections#Generic#IEnumerable{HttpServer#RequestCookie}#GetEnumerator">
- <summary>
- Returns an enumerator that iterates through the collection.
- </summary>
-
- <returns>
- A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
- </returns>
- <filterpriority>1</filterpriority>
- </member>
- <member name="M:HttpServer.RequestCookies.Remove(System.String)">
- <summary>
- Remove a cookie from the collection.
- </summary>
- <param name="cookieName">Name of cookie.</param>
- </member>
- <member name="T:HttpServer.RequestQueue">
- <summary>
- Used to queue incoming requests.
- </summary>
- </member>
- <member name="M:HttpServer.RequestQueue.#ctor(HttpServer.ProcessRequestHandler)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.RequestQueue"/> class.
- </summary>
- <param name="handler">Called when a request should be processed.</param>
- </member>
- <member name="T:HttpServer.RequestQueue.QueueItem">
- <summary>
- Used two queue incoming requests to avoid
- thread starvation.
- </summary>
- </member>
- <member name="P:HttpServer.RequestQueue.MaxRequestCount">
- <summary>
- Gets or sets maximum number of allowed simultaneous requests.
- </summary>
- </member>
- <member name="P:HttpServer.RequestQueue.MaxQueueSize">
- <summary>
- Gets or sets maximum number of requests queuing to be handled.
- </summary>
- </member>
- <member name="P:HttpServer.RequestQueue.CurrentRequestCount">
- <summary>
- Specifies how many requests the HTTP server is currently processing.
- </summary>
- </member>
- <member name="M:HttpServer.RequestQueue.QueueThread">
- <summary>
- Used to process queued requests.
- </summary>
- </member>
- <member name="T:HttpServer.ProcessRequestHandler">
- <summary>
- Method used to process a queued request
- </summary>
- <param name="context">Context that the request was received from.</param>
- <param name="request">Request to process.</param>
- </member>
- <member name="T:HttpServer.ResponseCookie">
- <summary>
- cookie being sent back to the browser.
- </summary>
- <seealso cref="T:HttpServer.ResponseCookie"/>
- </member>
- <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime)">
- <summary>
- Constructor.
- </summary>
- <param name="id">cookie identifier</param>
- <param name="content">cookie content</param>
- <param name="expiresAt">cookie expiration date. Use DateTime.MinValue for session cookie.</param>
- <exception cref="T:System.ArgumentNullException">id or content is null</exception>
- <exception cref="T:System.ArgumentException">id is empty</exception>
- </member>
- <member name="M:HttpServer.ResponseCookie.#ctor(System.String,System.String,System.DateTime,System.String,System.String)">
- <summary>
- Create a new cookie
- </summary>
- <param name="name">name identifying the cookie</param>
- <param name="value">cookie value</param>
- <param name="expires">when the cookie expires. Setting DateTime.MinValue will delete the cookie when the session is closed.</param>
- <param name="path">Path to where the cookie is valid</param>
- <param name="domain">Domain that the cookie is valid for.</param>
- </member>
- <member name="M:HttpServer.ResponseCookie.#ctor(HttpServer.RequestCookie,System.DateTime)">
- <summary>
- Create a new cookie
- </summary>
- <param name="cookie">Name and value will be used</param>
- <param name="expires">when the cookie expires.</param>
- </member>
- <member name="M:HttpServer.ResponseCookie.ToString">
- <summary>
- Gets the cookie HTML representation.
- </summary>
- <returns>cookie string</returns>
- </member>
- <member name="P:HttpServer.ResponseCookie.Expires">
- <summary>
- When the cookie expires.
- DateTime.MinValue means that the cookie expires when the session do so.
- </summary>
- </member>
- <member name="P:HttpServer.ResponseCookie.Path">
- <summary>
- Cookie is only valid under this path.
- </summary>
- </member>
- <member name="T:HttpServer.ResponseCookies">
- <summary>
- Cookies that should be set.
- </summary>
- </member>
- <member name="M:HttpServer.ResponseCookies.Add(HttpServer.ResponseCookie)">
- <summary>
- Adds a cookie in the collection.
- </summary>
- <param name="cookie">cookie to add</param>
- <exception cref="T:System.ArgumentNullException">cookie is null</exception>
- </member>
- <member name="M:HttpServer.ResponseCookies.Add(HttpServer.RequestCookie,System.DateTime)">
- <summary>
- Copy a request cookie
- </summary>
- <param name="cookie"></param>
- <param name="expires">When the cookie should expire</param>
- </member>
- <member name="P:HttpServer.ResponseCookies.Count">
- <summary>
- Gets the count of cookies in the collection.
- </summary>
- </member>
- <member name="P:HttpServer.ResponseCookies.Item(System.String)">
- <summary>
- Gets the cookie of a given identifier (null if not existing).
- </summary>
- </member>
- <member name="M:HttpServer.ResponseCookies.GetEnumerator">
- <summary>
- Gets a collection enumerator on the cookie list.
- </summary>
- <returns>collection enumerator</returns>
- </member>
- <member name="M:HttpServer.ResponseCookies.Clear">
- <summary>
- Remove all cookies
- </summary>
- </member>
- <member name="M:HttpServer.ResponseCookies.System#Collections#Generic#IEnumerable{HttpServer#ResponseCookie}#GetEnumerator">
- <summary>
- Returns an enumerator that iterates through the collection.
- </summary>
-
- <returns>
- A <see cref="T:System.Collections.Generic.IEnumerator`1"></see> that can be used to iterate through the collection.
- </returns>
- <filterpriority>1</filterpriority>
- </member>
- <member name="T:HttpServer.Rules.IRule">
- <summary>
- Rules are used to perform operations before a request is being handled.
- Rules can be used to create routing etc.
- </summary>
- </member>
- <member name="M:HttpServer.Rules.IRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
- <summary>
- Process the incoming request.
- </summary>
- <param name="request">incoming HTTP request</param>
- <param name="response">outgoing HTTP response</param>
- <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
- <remarks>
- returning true means that no modules will get the request. Returning true is typically being done
- for redirects.
- </remarks>
- <exception cref="T:System.ArgumentNullException">If request or response is null.</exception>
- </member>
- <member name="T:HttpServer.Rules.RedirectRule">
- <summary>
- redirects from one URL to another.
- </summary>
- </member>
- <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class.
- </summary>
- <param name="fromUrl">Absolute path (no server name)</param>
- <param name="toUrl">Absolute path (no server name)</param>
- <example>
- server.Add(new RedirectRule("/", "/user/index"));
- </example>
- </member>
- <member name="M:HttpServer.Rules.RedirectRule.#ctor(System.String,System.String,System.Boolean)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Rules.RedirectRule"/> class.
- </summary>
- <param name="fromUrl">Absolute path (no server name)</param>
- <param name="toUrl">Absolute path (no server name)</param>
- <param name="shouldRedirect">true if request should be redirected, false if the request URI should be replaced.</param>
- <example>
- server.Add(new RedirectRule("/", "/user/index"));
- </example>
- </member>
- <member name="P:HttpServer.Rules.RedirectRule.FromUrl">
- <summary>
- Gets string to match request URI with.
- </summary>
- <remarks>Is compared to request.Uri.AbsolutePath</remarks>
- </member>
- <member name="P:HttpServer.Rules.RedirectRule.ToUrl">
- <summary>
- Gets where to redirect.
- </summary>
- </member>
- <member name="P:HttpServer.Rules.RedirectRule.ShouldRedirect">
- <summary>
- Gets whether server should redirect client.
- </summary>
- <remarks>
- <c>false</c> means that the rule will replace
- the current request URI with the new one from this class.
- <c>true</c> means that a redirect response is sent to the client.
- </remarks>
- </member>
- <member name="M:HttpServer.Rules.RedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
- <summary>
- Process the incoming request.
- </summary>
- <param name="request">incoming HTTP request</param>
- <param name="response">outgoing HTTP response</param>
- <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
- <remarks>
- returning true means that no modules will get the request. Returning true is typically being done
- for redirects.
- </remarks>
- </member>
- <member name="T:HttpServer.Rules.RegexRedirectRule">
- <summary>
- Class to make dynamic binding of redirects. Instead of having to specify a number of similar redirect rules
- a regular expression can be used to identify redirect URLs and their targets.
- </summary>
- <example>
- <![CDATA[
- new RegexRedirectRule("/(?<target>[a-z0-9]+)", "/users/${target}?find=true", RegexOptions.IgnoreCase)
- ]]>
- </example>
- </member>
- <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
- </summary>
- <param name="fromUrlExpression">Expression to match URL</param>
- <param name="toUrlExpression">Expression to generate URL</param>
- <example>
- <![CDATA[
- server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}"));
- Result of ie. /employee1 will then be /user/employee1
- ]]>
- </example>
- </member>
- <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
- </summary>
- <param name="fromUrlExpression">Expression to match URL</param>
- <param name="toUrlExpression">Expression to generate URL</param>
- <param name="options">Regular expression options to use, can be null</param>
- <example>
- <![CDATA[
- server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/{first}", RegexOptions.IgnoreCase));
- Result of ie. /employee1 will then be /user/employee1
- ]]>
- </example>
- </member>
- <member name="M:HttpServer.Rules.RegexRedirectRule.#ctor(System.String,System.String,System.Text.RegularExpressions.RegexOptions,System.Boolean)">
- <summary>
- Initializes a new instance of the <see cref="T:HttpServer.Rules.RegexRedirectRule"/> class.
- </summary>
- <param name="fromUrlExpression">Expression to match URL</param>
- <param name="toUrlExpression">Expression to generate URL</param>
- <param name="options">Regular expression options to apply</param>
- <param name="shouldRedirect"><c>true</c> if request should be redirected, <c>false</c> if the request URI should be replaced.</param>
- <example>
- <![CDATA[
- server.Add(new RegexRedirectRule("/(?<first>[a-zA-Z0-9]+)", "/user/${first}", RegexOptions.None));
- Result of ie. /employee1 will then be /user/employee1
- ]]>
- </example>
- <exception cref="T:System.ArgumentNullException">Argument is null.</exception>
- <seealso cref="P:HttpServer.Rules.RedirectRule.ShouldRedirect"/>
- </member>
- <member name="M:HttpServer.Rules.RegexRedirectRule.Process(HttpServer.IHttpRequest,HttpServer.IHttpResponse)">
- <summary>
- Process the incoming request.
- </summary>
- <param name="request">incoming HTTP request</param>
- <param name="response">outgoing HTTP response</param>
- <returns>true if response should be sent to the browser directly (no other rules or modules will be processed).</returns>
- <remarks>
- returning true means that no modules will get the request. Returning true is typically being done
- for redirects.
- </remarks>
- <exception cref="T:System.ArgumentNullException">If request or response is null</exception>
- </member>
- <member name="T:HttpServer.Sessions.IHttpSession">
- <summary>
- Interface for sessions
- </summary>
- </member>
- <member name="P:HttpServer.Sessions.IHttpSession.Id">
- <summary>
- Session id
- </summary>
- </member>
- <member name="P:HttpServer.Sessions.IHttpSession.Item(System.String)">
- <summary>
- Should
- </summary>
- <param name="name">Name of the session variable</param>
- <returns>null if it's not set</returns>
- <exception cref="T:System.Runtime.Serialization.SerializationException">If the object cant be serialized.</exception>
- </member>
- <member name="P:HttpServer.Sessions.IHttpSession.Accessed">
- <summary>
- When the session was last accessed.
- This property is touched by the http server each time the
- session is requested.
- </summary>
- </member>
- <member name="P:HttpServer.Sessions.IHttpSession.Count">
- <summary>
- Number of session variables.
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.IHttpSession.Clear">
- <summary>
- Remove everything from the session
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.IHttpSession.Clear(System.Boolean)">
- <summary>
- Remove everything from the session
- </summary>
- <param name="expires">True if the session is cleared due to expiration</param>
- </member>
- <member name="E:HttpServer.Sessions.IHttpSession.BeforeClear">
- <summary>
- Event triggered upon clearing the session
- </summary>
- </member>
- <member name="T:HttpServer.Sessions.HttpSessionClearedArgs">
- <summary>
- Arguments sent when a <see cref="T:HttpServer.Sessions.IHttpSession" /> is cleared
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.HttpSessionClearedArgs.#ctor(System.Boolean)">
- <summary>
- Instantiates the arguments for the event
- </summary>
- <param name="expired">True if the session is cleared due to expiration</param>
- </member>
- <member name="P:HttpServer.Sessions.HttpSessionClearedArgs.Expired">
- <summary>
- Returns true if the session is cleared due to expiration
- </summary>
- </member>
- <member name="T:HttpServer.Sessions.HttpSessionClearedHandler">
- <summary>
- Delegate for when a IHttpSession is cleared
- </summary>
- <param name="session"><see cref="T:HttpServer.Sessions.IHttpSession"/> this is being cleared.</param>
- <param name="args">Arguments for the clearing</param>
- </member>
- <member name="T:HttpServer.Sessions.IHttpSessionStore">
- <summary>
- A session store is used to store and load sessions on a media.
- The default implementation (<see cref="T:HttpServer.Sessions.MemorySessionStore"/>) saves/retrieves sessions from memory.
- </summary>
- </member>
- <member name="P:HttpServer.Sessions.IHttpSessionStore.Item(System.String)">
- <summary>
- Load a session from the store
- </summary>
- <param name="sessionId"></param>
- <returns>null if session is not found.</returns>
- </member>
- <member name="P:HttpServer.Sessions.IHttpSessionStore.ExpireTime">
- <summary>
- Number of minutes before a session expires.
- </summary>
- <value>Default time is 20 minutes.</value>
- </member>
- <member name="M:HttpServer.Sessions.IHttpSessionStore.Create">
- <summary>
- Creates a new http session with a generated id.
- </summary>
- <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object</returns>
- </member>
- <member name="M:HttpServer.Sessions.IHttpSessionStore.Create(System.String)">
- <summary>
- Creates a new http session with a specific id
- </summary>
- <param name="id">Id used to identify the new cookie..</param>
- <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
- <remarks>
- Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
- </remarks>
- </member>
- <member name="M:HttpServer.Sessions.IHttpSessionStore.Load(System.String)">
- <summary>
- Load an existing session.
- </summary>
- <param name="sessionId">Session id (usually retrieved from a client side cookie).</param>
- <returns>A session if found; otherwise null.</returns>
- </member>
- <member name="M:HttpServer.Sessions.IHttpSessionStore.Save(HttpServer.Sessions.IHttpSession)">
- <summary>
- Save an updated session to the store.
- </summary>
- <param name="session">Session id (usually retrieved from a client side cookie).</param>
- <exception cref="T:System.ArgumentException">If Id property have not been specified.</exception>
- </member>
- <member name="M:HttpServer.Sessions.IHttpSessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
- <summary>
- We use the flyweight pattern which reuses small objects
- instead of creating new each time.
- </summary>
- <param name="session">Unused session that should be reused next time Create is called.</param>
- </member>
- <member name="M:HttpServer.Sessions.IHttpSessionStore.Cleanup">
- <summary>
- Remove expired sessions
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.IHttpSessionStore.Remove(System.String)">
- <summary>
- Remove a session
- </summary>
- <param name="sessionId">id of the session.</param>
- </member>
- <member name="T:HttpServer.Sessions.MemorySession">
- <summary>
- A session stored in memory.
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.MemorySession.#ctor(System.String)">
- <summary>
-
- </summary>
- <param name="id">A unique id used by the sessions store to identify the session</param>
- </member>
- <member name="M:HttpServer.Sessions.MemorySession.SetId(System.String)">
- <summary>
- Id
- </summary>
- <param name="id"></param>
- </member>
- <member name="P:HttpServer.Sessions.MemorySession.Id">
- <summary>
- Session id
- </summary>
- </member>
- <member name="P:HttpServer.Sessions.MemorySession.Item(System.String)">
- <summary>
- Should
- </summary>
- <param name="name">Name of the session variable</param>
- <returns>null if it's not set</returns>
- </member>
- <member name="P:HttpServer.Sessions.MemorySession.Accessed">
- <summary>
- when the session was last accessed.
- </summary>
- <remarks>
- Used to determine when the session should be removed.
- </remarks>
- </member>
- <member name="P:HttpServer.Sessions.MemorySession.Count">
- <summary>
- Number of values in the session
- </summary>
- </member>
- <member name="P:HttpServer.Sessions.MemorySession.Changed">
- <summary>
- Flag to indicate that the session have been changed
- and should be saved into the session store.
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.MemorySession.Clear">
- <summary>
- Remove everything from the session
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.MemorySession.Clear(System.Boolean)">
- <summary>
- Clears the specified expire.
- </summary>
- <param name="expires">True if the session is cleared due to expiration</param>
- </member>
- <member name="M:HttpServer.Sessions.MemorySession.Dispose">
- <summary>
- Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
- </summary>
- <filterpriority>2</filterpriority>
- </member>
- <member name="E:HttpServer.Sessions.MemorySession.BeforeClear">
- <summary>
- Event triggered upon clearing the session
- </summary>
- </member>
- <member name="T:HttpServer.Sessions.MemorySessionStore">
- <summary>
- Session store using memory for each session.
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.MemorySessionStore.#ctor">
- <summary>
- Initializes the class setting the expirationtimer to clean the session every minute
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup(System.Object)">
- <summary>
- Delegate for the cleanup timer
- </summary>
- </member>
- <member name="P:HttpServer.Sessions.MemorySessionStore.Item(System.String)">
- <summary>
- Load a session from the store
- </summary>
- <param name="sessionId"></param>
- <returns>null if session is not found.</returns>
- </member>
- <member name="M:HttpServer.Sessions.MemorySessionStore.Create">
- <summary>
- Creates a new http session
- </summary>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Sessions.MemorySessionStore.Create(System.String)">
- <summary>
- Creates a new http session with a specific id
- </summary>
- <param name="id">Id used to identify the new cookie..</param>
- <returns>A <see cref="T:HttpServer.Sessions.IHttpSession"/> object.</returns>
- <remarks>
- Id should be generated by the store implementation if it's null or <see cref="F:System.String.Empty"/>.
- </remarks>
- </member>
- <member name="M:HttpServer.Sessions.MemorySessionStore.Load(System.String)">
- <summary>
- Load an existing session.
- </summary>
- <param name="sessionId"></param>
- <returns></returns>
- </member>
- <member name="M:HttpServer.Sessions.MemorySessionStore.Save(HttpServer.Sessions.IHttpSession)">
- <summary>
- Save an updated session to the store.
- </summary>
- <param name="session"></param>
- </member>
- <member name="M:HttpServer.Sessions.MemorySessionStore.AddUnused(HttpServer.Sessions.IHttpSession)">
- <summary>
- We use the flyweight pattern which reuses small objects
- instead of creating new each time.
- </summary>
- <param name="session">EmptyLanguageNode (unused) session that should be reused next time Create is called.</param>
- </member>
- <member name="M:HttpServer.Sessions.MemorySessionStore.Cleanup">
- <summary>
- Remove expired sessions
- </summary>
- </member>
- <member name="M:HttpServer.Sessions.MemorySessionStore.Remove(System.String)">
- <summary>
- Remove a session
- </summary>
- <param name="sessionId">id of the session.</param>
- </member>
- <member name="P:HttpServer.Sessions.MemorySessionStore.ExpireTime">
- <summary>
- Number of minutes before a session expires.
- Default is 20 minutes.
- </summary>
- </member>
- </members>
- </doc>
|