12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456 |
- <?xml version="1.0"?>
- <doc>
- <assembly>
- <name>HttpServer_OpenSim</name>
- </assembly>
- <members>
- <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="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="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.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="T:HttpServer.Authentication.AuthenticationModule">
- <summary>
- Authentication modules are used to implement different
- kind of HTTP authentication.
- </summary>
- </member>
- <member name="F:HttpServer.Authentication.AuthenticationModule.AuthenticationTag">
- <summary>
- Tag used for 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="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="P:HttpServer.Authentication.AuthenticationModule.Name">
- <summary>
- name used in HTTP request.
- </summary>
- </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="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="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="P:HttpServer.Authentication.DigestAuthentication.Name">
- <summary>
- name used in http request.
- </summary>
- </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="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="T:HttpServer.Rules.RedirectRule">
- <summary>
- redirects from one URL to another.
- </summary>
- </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="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="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="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.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.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.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.Sessions.IHttpSession">
- <summary>
- Interface for sessions
- </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="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="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.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="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="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="T:HttpServer.RequestParserFactory">
- <summary>
- Creates request parsers when needed.
- </summary>
- </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="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.Parser.HttpRequestParser">
- <summary>
- Parses a HTTP request directly from a stream
- </summary>
- </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="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="M:HttpServer.IHttpRequestParser.Clear">
- <summary>
- Clear parser state.
- </summary>
- </member>
- <member name="P:HttpServer.IHttpRequestParser.CurrentState">
- <summary>
- Current state in parser.
- </summary>
- </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="P:HttpServer.IHttpRequestParser.LogWriter">
- <summary>
- Gets or sets the log writer.
- </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="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="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="P:HttpServer.Parser.HttpRequestParser.LogWriter">
- <summary>
- Gets or sets the log writer.
- </summary>
- </member>
- <member name="P:HttpServer.Parser.HttpRequestParser.CurrentState">
- <summary>
- Current state in parser.
- </summary>
- </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.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.HttpForm">
- <summary>Container for posted form data</summary>
- </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="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="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="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="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="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="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="P:HttpServer.HttpInput.Name">
- <summary>
- Form name as lower case
- </summary>
- </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="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="M:HttpServer.HttpForm.Clear">
- <summary>Disposes all held HttpFile's and resets values</summary>
- </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="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.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="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="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="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.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.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.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.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.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="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="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="E:HttpServer.Sessions.MemorySession.BeforeClear">
- <summary>
- Event triggered upon clearing the session
- </summary>
- </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="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.HttpMultipart.Element">
- <summary>Represents a field in a multipart form</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.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.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.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.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="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="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="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="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="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="E:HttpServer.HttpListener.Accepted">
- <summary>
- A client have been accepted, but not handled, by the listener.
- </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.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.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.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.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.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="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="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="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.IHttpRequest">
- <summary>
- Contains server side HTTP request information.
- </summary>
- </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="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="T:HttpServer.IHttpClientContext">
- <summary>
- Contains a connection to a browser/client.
- </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="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="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="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="P:HttpServer.DisconnectedEventArgs.Error">
- <summary>
- Gets reason to why client disconnected.
- </summary>
- </member>
- <member name="T:HttpServer.RequestEventArgs">
- <summary>
-
- </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="P:HttpServer.RequestEventArgs.Request">
- <summary>
- Gets received request.
- </summary>
- </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="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="P:HttpServer.HttpModules.WebSiteModule.SiteName">
- <summary>
- Name of site.
- </summary>
- </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="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="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="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="P:HttpServer.HttpInputItem.HttpServer#IHttpInput#Item(System.String)">
- <summary>
-
- </summary>
- <param name="name">name in lower case</param>
- <returns></returns>
- </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="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="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="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.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.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.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.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="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="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="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="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="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="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.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="M:HttpServer.HttpRequest.AssignForm(HttpServer.HttpForm)">
- <summary>
- Assign a form.
- </summary>
- <param name="form"></param>
- </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="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="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="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.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.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.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="M:HttpServer.ClientAcceptedEventArgs.Revoke">
- <summary>
- Client may not be handled.
- </summary>
- </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="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="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="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="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.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.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.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="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="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="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="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="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="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.OnReceive(System.IAsyncResult)">
- <exception cref="T:HttpServer.Exceptions.BadRequestException"><c>BadRequestException</c>.</exception>
- </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.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="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="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="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.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.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.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.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.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="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="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="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="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="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.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="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="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="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="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="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="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="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.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="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.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.MemorySessionStore.ExpireTime">
- <summary>
- Number of minutes before a session expires.
- Default is 20 minutes.
- </summary>
- </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="M:HttpServer.RequestQueue.QueueThread">
- <summary>
- Used to process queued requests.
- </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="T:HttpServer.RequestQueue.QueueItem">
- <summary>
- Used two queue incoming requests to avoid
- thread starvation.
- </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.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="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="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="T:HttpServer.HttpContextFactory">
- <summary>
- Used to create and reuse contexts.
- </summary>
- </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.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="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="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="P:HttpServer.HttpContextFactory.UseTraceLogs">
- <summary>
- True if detailed trace logs should be written.
- </summary>
- </member>
- <member name="E:HttpServer.HttpContextFactory.RequestReceived">
- <summary>
- A request have been received from one of the contexts.
- </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>
- </members>
- </doc>
|