12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532753375347535753675377538753975407541754275437544754575467547754875497550755175527553755475557556755775587559756075617562756375647565756675677568756975707571757275737574757575767577757875797580758175827583758475857586758775887589759075917592759375947595759675977598759976007601760276037604760576067607760876097610761176127613761476157616761776187619762076217622762376247625762676277628762976307631763276337634763576367637763876397640764176427643764476457646764776487649765076517652765376547655765676577658765976607661766276637664766576667667766876697670767176727673767476757676767776787679768076817682768376847685768676877688768976907691769276937694769576967697769876997700770177027703770477057706770777087709771077117712771377147715771677177718771977207721772277237724772577267727772877297730773177327733773477357736773777387739774077417742774377447745774677477748774977507751775277537754775577567757775877597760776177627763776477657766776777687769777077717772777377747775777677777778777977807781778277837784778577867787778877897790779177927793779477957796779777987799780078017802780378047805780678077808780978107811781278137814781578167817781878197820782178227823782478257826782778287829783078317832783378347835783678377838783978407841784278437844784578467847784878497850785178527853785478557856785778587859786078617862786378647865786678677868786978707871787278737874787578767877787878797880788178827883788478857886788778887889789078917892789378947895789678977898789979007901790279037904790579067907790879097910791179127913791479157916791779187919792079217922792379247925792679277928792979307931793279337934793579367937793879397940794179427943794479457946794779487949795079517952795379547955795679577958795979607961796279637964796579667967796879697970797179727973797479757976797779787979798079817982798379847985798679877988798979907991799279937994799579967997799879998000800180028003800480058006800780088009801080118012801380148015801680178018801980208021802280238024802580268027802880298030803180328033803480358036803780388039804080418042804380448045804680478048804980508051805280538054805580568057805880598060806180628063806480658066806780688069807080718072807380748075807680778078807980808081808280838084808580868087808880898090809180928093809480958096809780988099810081018102810381048105810681078108810981108111811281138114811581168117811881198120812181228123812481258126812781288129813081318132813381348135813681378138813981408141814281438144814581468147814881498150815181528153815481558156815781588159816081618162816381648165816681678168816981708171817281738174817581768177817881798180818181828183818481858186818781888189819081918192819381948195819681978198819982008201820282038204820582068207820882098210821182128213821482158216821782188219822082218222822382248225822682278228822982308231823282338234823582368237823882398240824182428243824482458246824782488249825082518252825382548255825682578258825982608261826282638264826582668267826882698270827182728273827482758276827782788279828082818282828382848285828682878288828982908291829282938294829582968297829882998300830183028303830483058306830783088309831083118312831383148315831683178318831983208321832283238324832583268327832883298330833183328333833483358336833783388339834083418342834383448345834683478348834983508351835283538354835583568357835883598360836183628363836483658366836783688369837083718372837383748375837683778378837983808381838283838384838583868387838883898390839183928393839483958396839783988399840084018402840384048405840684078408840984108411841284138414841584168417841884198420842184228423842484258426842784288429843084318432843384348435843684378438843984408441844284438444844584468447844884498450845184528453845484558456845784588459846084618462846384648465846684678468846984708471847284738474847584768477847884798480848184828483848484858486848784888489849084918492849384948495849684978498849985008501850285038504850585068507850885098510851185128513851485158516851785188519852085218522852385248525852685278528852985308531853285338534853585368537853885398540854185428543854485458546854785488549855085518552855385548555855685578558855985608561856285638564856585668567856885698570857185728573857485758576857785788579858085818582858385848585858685878588858985908591859285938594859585968597859885998600860186028603860486058606860786088609861086118612861386148615861686178618861986208621862286238624862586268627862886298630863186328633863486358636863786388639864086418642864386448645864686478648864986508651865286538654865586568657865886598660866186628663866486658666866786688669867086718672867386748675867686778678867986808681868286838684868586868687868886898690869186928693869486958696869786988699870087018702870387048705870687078708870987108711871287138714871587168717871887198720872187228723872487258726872787288729873087318732873387348735873687378738873987408741874287438744874587468747874887498750875187528753875487558756875787588759876087618762876387648765876687678768876987708771877287738774877587768777877887798780878187828783878487858786878787888789879087918792879387948795879687978798879988008801880288038804880588068807880888098810881188128813881488158816881788188819882088218822882388248825882688278828882988308831883288338834883588368837883888398840884188428843884488458846884788488849885088518852885388548855885688578858885988608861886288638864886588668867886888698870887188728873887488758876887788788879888088818882888388848885888688878888888988908891889288938894889588968897889888998900890189028903890489058906890789088909891089118912891389148915891689178918891989208921892289238924892589268927892889298930893189328933893489358936893789388939894089418942894389448945894689478948894989508951895289538954895589568957895889598960896189628963896489658966896789688969897089718972897389748975897689778978897989808981898289838984898589868987898889898990899189928993899489958996899789988999900090019002900390049005900690079008900990109011901290139014901590169017901890199020902190229023902490259026902790289029903090319032903390349035903690379038903990409041904290439044904590469047904890499050905190529053905490559056905790589059906090619062906390649065906690679068906990709071907290739074907590769077907890799080908190829083908490859086908790889089909090919092909390949095909690979098909991009101910291039104910591069107910891099110911191129113911491159116911791189119912091219122912391249125912691279128912991309131913291339134913591369137913891399140914191429143914491459146914791489149915091519152915391549155915691579158915991609161916291639164916591669167916891699170917191729173917491759176917791789179918091819182918391849185918691879188918991909191919291939194919591969197919891999200920192029203920492059206920792089209921092119212921392149215921692179218921992209221922292239224922592269227922892299230923192329233923492359236923792389239924092419242924392449245924692479248924992509251925292539254925592569257925892599260926192629263926492659266926792689269927092719272927392749275927692779278927992809281928292839284928592869287928892899290929192929293929492959296929792989299930093019302930393049305930693079308930993109311931293139314931593169317931893199320932193229323932493259326932793289329933093319332933393349335933693379338933993409341934293439344934593469347934893499350935193529353935493559356935793589359936093619362936393649365936693679368936993709371937293739374937593769377937893799380938193829383938493859386938793889389939093919392939393949395939693979398939994009401940294039404940594069407940894099410941194129413941494159416941794189419942094219422942394249425942694279428942994309431943294339434943594369437943894399440944194429443944494459446944794489449945094519452945394549455945694579458945994609461946294639464946594669467946894699470947194729473947494759476947794789479948094819482948394849485948694879488948994909491949294939494949594969497949894999500950195029503950495059506950795089509951095119512951395149515951695179518951995209521952295239524952595269527952895299530953195329533953495359536953795389539954095419542954395449545954695479548954995509551955295539554955595569557955895599560956195629563956495659566956795689569957095719572957395749575957695779578957995809581958295839584958595869587958895899590959195929593959495959596959795989599960096019602960396049605960696079608960996109611961296139614961596169617961896199620962196229623962496259626962796289629963096319632963396349635963696379638963996409641964296439644964596469647964896499650965196529653965496559656965796589659966096619662966396649665966696679668966996709671967296739674967596769677967896799680968196829683968496859686968796889689969096919692969396949695969696979698969997009701970297039704970597069707970897099710971197129713971497159716971797189719972097219722972397249725972697279728972997309731973297339734973597369737973897399740974197429743974497459746974797489749975097519752975397549755975697579758975997609761976297639764976597669767976897699770977197729773977497759776977797789779978097819782978397849785978697879788978997909791979297939794979597969797979897999800980198029803980498059806980798089809981098119812981398149815981698179818981998209821982298239824982598269827982898299830983198329833983498359836983798389839984098419842984398449845984698479848984998509851985298539854985598569857985898599860986198629863986498659866986798689869987098719872987398749875987698779878987998809881988298839884988598869887988898899890989198929893989498959896989798989899990099019902990399049905990699079908990999109911991299139914991599169917991899199920992199229923992499259926992799289929993099319932993399349935993699379938993999409941994299439944994599469947994899499950995199529953995499559956995799589959996099619962996399649965996699679968996999709971997299739974997599769977997899799980998199829983998499859986998799889989999099919992999399949995999699979998999910000100011000210003100041000510006100071000810009100101001110012100131001410015100161001710018100191002010021100221002310024100251002610027100281002910030100311003210033100341003510036100371003810039100401004110042100431004410045100461004710048100491005010051100521005310054100551005610057100581005910060100611006210063100641006510066100671006810069100701007110072100731007410075100761007710078100791008010081100821008310084100851008610087100881008910090100911009210093100941009510096100971009810099101001010110102101031010410105101061010710108101091011010111101121011310114101151011610117101181011910120101211012210123101241012510126101271012810129101301013110132101331013410135101361013710138101391014010141101421014310144101451014610147101481014910150101511015210153101541015510156101571015810159101601016110162101631016410165101661016710168101691017010171101721017310174101751017610177101781017910180101811018210183101841018510186101871018810189101901019110192101931019410195101961019710198101991020010201102021020310204102051020610207102081020910210102111021210213102141021510216102171021810219102201022110222102231022410225102261022710228102291023010231102321023310234102351023610237102381023910240102411024210243102441024510246102471024810249102501025110252102531025410255102561025710258102591026010261102621026310264102651026610267102681026910270102711027210273102741027510276102771027810279102801028110282102831028410285102861028710288102891029010291102921029310294102951029610297102981029910300103011030210303103041030510306103071030810309103101031110312103131031410315103161031710318103191032010321103221032310324103251032610327103281032910330103311033210333103341033510336103371033810339103401034110342103431034410345103461034710348103491035010351103521035310354103551035610357103581035910360103611036210363103641036510366103671036810369103701037110372103731037410375103761037710378103791038010381103821038310384103851038610387103881038910390103911039210393103941039510396103971039810399104001040110402104031040410405104061040710408104091041010411104121041310414104151041610417104181041910420104211042210423104241042510426104271042810429104301043110432104331043410435104361043710438104391044010441104421044310444104451044610447104481044910450104511045210453104541045510456104571045810459104601046110462104631046410465104661046710468104691047010471104721047310474104751047610477104781047910480104811048210483104841048510486104871048810489104901049110492104931049410495104961049710498104991050010501105021050310504105051050610507105081050910510105111051210513105141051510516105171051810519105201052110522105231052410525105261052710528105291053010531105321053310534105351053610537105381053910540105411054210543105441054510546105471054810549105501055110552105531055410555105561055710558105591056010561105621056310564105651056610567105681056910570105711057210573105741057510576105771057810579105801058110582105831058410585105861058710588105891059010591105921059310594105951059610597105981059910600106011060210603106041060510606106071060810609106101061110612106131061410615106161061710618106191062010621106221062310624106251062610627106281062910630106311063210633106341063510636106371063810639106401064110642106431064410645106461064710648106491065010651106521065310654106551065610657106581065910660106611066210663106641066510666106671066810669106701067110672106731067410675106761067710678106791068010681106821068310684106851068610687106881068910690106911069210693106941069510696106971069810699107001070110702107031070410705107061070710708107091071010711107121071310714107151071610717107181071910720107211072210723107241072510726107271072810729107301073110732107331073410735107361073710738107391074010741107421074310744107451074610747107481074910750107511075210753107541075510756107571075810759107601076110762107631076410765107661076710768107691077010771107721077310774107751077610777107781077910780107811078210783107841078510786107871078810789107901079110792107931079410795107961079710798107991080010801108021080310804108051080610807108081080910810108111081210813108141081510816108171081810819108201082110822108231082410825108261082710828108291083010831108321083310834108351083610837108381083910840108411084210843108441084510846108471084810849108501085110852108531085410855108561085710858108591086010861108621086310864108651086610867108681086910870108711087210873108741087510876108771087810879108801088110882108831088410885108861088710888108891089010891108921089310894108951089610897108981089910900109011090210903109041090510906109071090810909109101091110912109131091410915109161091710918109191092010921109221092310924109251092610927109281092910930109311093210933109341093510936109371093810939109401094110942109431094410945109461094710948109491095010951109521095310954109551095610957109581095910960109611096210963109641096510966109671096810969109701097110972109731097410975109761097710978109791098010981109821098310984109851098610987109881098910990109911099210993109941099510996109971099810999110001100111002110031100411005110061100711008110091101011011110121101311014110151101611017110181101911020110211102211023110241102511026110271102811029110301103111032110331103411035110361103711038110391104011041110421104311044110451104611047110481104911050110511105211053110541105511056110571105811059110601106111062110631106411065110661106711068110691107011071110721107311074110751107611077110781107911080110811108211083110841108511086110871108811089110901109111092110931109411095110961109711098110991110011101111021110311104111051110611107111081110911110111111111211113111141111511116111171111811119111201112111122111231112411125111261112711128111291113011131111321113311134111351113611137111381113911140111411114211143111441114511146111471114811149111501115111152111531115411155111561115711158111591116011161111621116311164111651116611167111681116911170111711117211173111741117511176111771117811179111801118111182111831118411185111861118711188111891119011191111921119311194111951119611197111981119911200112011120211203112041120511206112071120811209112101121111212112131121411215112161121711218112191122011221112221122311224112251122611227112281122911230112311123211233112341123511236112371123811239112401124111242112431124411245112461124711248112491125011251112521125311254112551125611257112581125911260112611126211263112641126511266112671126811269112701127111272112731127411275112761127711278112791128011281112821128311284112851128611287112881128911290112911129211293112941129511296112971129811299113001130111302113031130411305113061130711308113091131011311113121131311314113151131611317113181131911320113211132211323113241132511326113271132811329113301133111332113331133411335113361133711338113391134011341113421134311344113451134611347113481134911350113511135211353113541135511356113571135811359113601136111362113631136411365113661136711368113691137011371113721137311374113751137611377113781137911380113811138211383113841138511386113871138811389113901139111392113931139411395113961139711398113991140011401114021140311404114051140611407114081140911410114111141211413114141141511416114171141811419114201142111422114231142411425114261142711428114291143011431114321143311434114351143611437114381143911440114411144211443114441144511446114471144811449114501145111452114531145411455114561145711458114591146011461114621146311464114651146611467114681146911470114711147211473114741147511476114771147811479114801148111482114831148411485114861148711488114891149011491114921149311494114951149611497114981149911500115011150211503115041150511506115071150811509115101151111512115131151411515115161151711518115191152011521115221152311524115251152611527115281152911530115311153211533115341153511536115371153811539115401154111542115431154411545115461154711548115491155011551115521155311554115551155611557115581155911560115611156211563115641156511566115671156811569115701157111572115731157411575115761157711578115791158011581115821158311584115851158611587115881158911590115911159211593115941159511596115971159811599116001160111602116031160411605116061160711608116091161011611116121161311614116151161611617116181161911620116211162211623116241162511626116271162811629116301163111632116331163411635116361163711638116391164011641116421164311644116451164611647116481164911650116511165211653116541165511656116571165811659116601166111662116631166411665116661166711668116691167011671116721167311674116751167611677116781167911680116811168211683116841168511686116871168811689116901169111692116931169411695116961169711698116991170011701117021170311704117051170611707117081170911710117111171211713117141171511716117171171811719117201172111722117231172411725117261172711728117291173011731117321173311734117351173611737117381173911740117411174211743117441174511746117471174811749117501175111752117531175411755117561175711758117591176011761117621176311764117651176611767117681176911770117711177211773117741177511776117771177811779117801178111782117831178411785117861178711788117891179011791117921179311794117951179611797117981179911800118011180211803118041180511806118071180811809118101181111812118131181411815118161181711818118191182011821118221182311824118251182611827118281182911830118311183211833118341183511836118371183811839118401184111842118431184411845118461184711848118491185011851118521185311854118551185611857118581185911860118611186211863118641186511866118671186811869118701187111872118731187411875118761187711878118791188011881118821188311884118851188611887118881188911890118911189211893118941189511896118971189811899119001190111902119031190411905119061190711908119091191011911119121191311914119151191611917119181191911920119211192211923119241192511926119271192811929119301193111932119331193411935119361193711938119391194011941119421194311944119451194611947119481194911950119511195211953119541195511956119571195811959119601196111962119631196411965119661196711968119691197011971119721197311974119751197611977119781197911980119811198211983119841198511986119871198811989119901199111992119931199411995119961199711998119991200012001120021200312004120051200612007120081200912010120111201212013120141201512016120171201812019120201202112022120231202412025120261202712028120291203012031120321203312034120351203612037120381203912040120411204212043120441204512046120471204812049120501205112052120531205412055120561205712058120591206012061120621206312064120651206612067120681206912070120711207212073120741207512076120771207812079120801208112082120831208412085120861208712088120891209012091120921209312094120951209612097120981209912100121011210212103121041210512106121071210812109121101211112112121131211412115121161211712118121191212012121121221212312124121251212612127121281212912130121311213212133121341213512136121371213812139121401214112142121431214412145121461214712148121491215012151121521215312154121551215612157121581215912160121611216212163121641216512166121671216812169121701217112172121731217412175121761217712178121791218012181121821218312184121851218612187121881218912190121911219212193121941219512196121971219812199122001220112202122031220412205122061220712208122091221012211122121221312214122151221612217122181221912220122211222212223122241222512226122271222812229122301223112232122331223412235122361223712238122391224012241122421224312244122451224612247122481224912250122511225212253122541225512256122571225812259122601226112262122631226412265122661226712268122691227012271122721227312274122751227612277122781227912280122811228212283122841228512286122871228812289122901229112292122931229412295122961229712298122991230012301123021230312304123051230612307123081230912310123111231212313123141231512316123171231812319123201232112322123231232412325123261232712328123291233012331123321233312334123351233612337123381233912340123411234212343123441234512346123471234812349123501235112352123531235412355123561235712358123591236012361123621236312364123651236612367123681236912370123711237212373123741237512376123771237812379123801238112382123831238412385123861238712388123891239012391123921239312394123951239612397123981239912400124011240212403124041240512406124071240812409124101241112412124131241412415124161241712418124191242012421124221242312424124251242612427124281242912430124311243212433124341243512436124371243812439124401244112442124431244412445124461244712448124491245012451124521245312454124551245612457124581245912460124611246212463124641246512466124671246812469124701247112472124731247412475124761247712478124791248012481124821248312484124851248612487124881248912490124911249212493124941249512496124971249812499125001250112502125031250412505125061250712508125091251012511125121251312514125151251612517125181251912520125211252212523125241252512526125271252812529125301253112532125331253412535125361253712538125391254012541125421254312544125451254612547125481254912550125511255212553125541255512556125571255812559125601256112562125631256412565125661256712568125691257012571125721257312574125751257612577125781257912580125811258212583125841258512586125871258812589125901259112592125931259412595125961259712598125991260012601126021260312604126051260612607126081260912610126111261212613126141261512616126171261812619126201262112622126231262412625126261262712628126291263012631126321263312634126351263612637126381263912640126411264212643126441264512646126471264812649126501265112652126531265412655126561265712658126591266012661126621266312664126651266612667126681266912670126711267212673126741267512676126771267812679126801268112682126831268412685126861268712688126891269012691126921269312694126951269612697126981269912700127011270212703127041270512706127071270812709127101271112712127131271412715127161271712718127191272012721127221272312724127251272612727127281272912730127311273212733127341273512736127371273812739127401274112742127431274412745127461274712748127491275012751127521275312754127551275612757127581275912760127611276212763127641276512766127671276812769127701277112772127731277412775127761277712778127791278012781127821278312784127851278612787127881278912790127911279212793127941279512796127971279812799128001280112802128031280412805128061280712808128091281012811128121281312814128151281612817128181281912820128211282212823128241282512826128271282812829128301283112832128331283412835128361283712838128391284012841128421284312844128451284612847128481284912850128511285212853128541285512856128571285812859128601286112862128631286412865128661286712868128691287012871128721287312874128751287612877128781287912880128811288212883128841288512886128871288812889128901289112892128931289412895128961289712898128991290012901129021290312904129051290612907129081290912910129111291212913129141291512916129171291812919129201292112922129231292412925129261292712928129291293012931129321293312934129351293612937129381293912940129411294212943129441294512946129471294812949129501295112952129531295412955129561295712958129591296012961129621296312964129651296612967129681296912970129711297212973129741297512976129771297812979129801298112982129831298412985129861298712988129891299012991129921299312994129951299612997129981299913000130011300213003130041300513006130071300813009130101301113012130131301413015130161301713018130191302013021130221302313024130251302613027130281302913030130311303213033130341303513036130371303813039130401304113042130431304413045130461304713048130491305013051130521305313054130551305613057130581305913060130611306213063130641306513066130671306813069130701307113072130731307413075130761307713078130791308013081130821308313084130851308613087130881308913090130911309213093130941309513096130971309813099131001310113102131031310413105131061310713108131091311013111131121311313114131151311613117131181311913120131211312213123131241312513126131271312813129131301313113132131331313413135131361313713138131391314013141131421314313144131451314613147131481314913150131511315213153131541315513156131571315813159131601316113162131631316413165131661316713168131691317013171131721317313174131751317613177131781317913180131811318213183131841318513186131871318813189131901319113192131931319413195131961319713198131991320013201132021320313204132051320613207132081320913210132111321213213132141321513216132171321813219132201322113222132231322413225132261322713228132291323013231132321323313234132351323613237132381323913240132411324213243132441324513246132471324813249132501325113252132531325413255132561325713258132591326013261132621326313264132651326613267132681326913270132711327213273132741327513276132771327813279132801328113282132831328413285132861328713288132891329013291132921329313294132951329613297132981329913300133011330213303133041330513306133071330813309133101331113312133131331413315133161331713318133191332013321133221332313324133251332613327133281332913330133311333213333133341333513336133371333813339133401334113342133431334413345133461334713348133491335013351133521335313354133551335613357133581335913360133611336213363133641336513366133671336813369133701337113372133731337413375133761337713378133791338013381133821338313384133851338613387133881338913390133911339213393133941339513396133971339813399134001340113402134031340413405134061340713408134091341013411134121341313414134151341613417134181341913420134211342213423134241342513426134271342813429134301343113432134331343413435134361343713438134391344013441134421344313444134451344613447134481344913450134511345213453134541345513456134571345813459134601346113462134631346413465134661346713468134691347013471134721347313474134751347613477134781347913480134811348213483134841348513486134871348813489134901349113492134931349413495134961349713498134991350013501135021350313504135051350613507135081350913510135111351213513135141351513516135171351813519135201352113522135231352413525135261352713528135291353013531135321353313534135351353613537135381353913540135411354213543135441354513546135471354813549135501355113552135531355413555135561355713558135591356013561135621356313564135651356613567135681356913570135711357213573135741357513576135771357813579135801358113582135831358413585135861358713588135891359013591135921359313594135951359613597135981359913600136011360213603136041360513606136071360813609136101361113612136131361413615136161361713618136191362013621136221362313624136251362613627136281362913630136311363213633136341363513636136371363813639136401364113642136431364413645136461364713648136491365013651136521365313654136551365613657136581365913660136611366213663136641366513666136671366813669136701367113672136731367413675136761367713678136791368013681136821368313684136851368613687136881368913690136911369213693136941369513696136971369813699137001370113702137031370413705137061370713708137091371013711137121371313714137151371613717137181371913720137211372213723137241372513726137271372813729137301373113732137331373413735137361373713738137391374013741137421374313744137451374613747137481374913750137511375213753137541375513756137571375813759137601376113762137631376413765137661376713768137691377013771137721377313774137751377613777137781377913780137811378213783137841378513786137871378813789137901379113792137931379413795137961379713798137991380013801138021380313804138051380613807138081380913810138111381213813138141381513816138171381813819138201382113822138231382413825138261382713828138291383013831138321383313834138351383613837138381383913840138411384213843138441384513846138471384813849138501385113852138531385413855138561385713858138591386013861138621386313864138651386613867138681386913870138711387213873138741387513876138771387813879138801388113882138831388413885138861388713888138891389013891138921389313894138951389613897138981389913900139011390213903139041390513906139071390813909139101391113912139131391413915139161391713918139191392013921139221392313924139251392613927139281392913930139311393213933139341393513936139371393813939139401394113942139431394413945139461394713948139491395013951139521395313954139551395613957139581395913960139611396213963139641396513966139671396813969139701397113972139731397413975139761397713978139791398013981139821398313984139851398613987139881398913990139911399213993139941399513996139971399813999140001400114002140031400414005140061400714008140091401014011140121401314014140151401614017140181401914020140211402214023140241402514026140271402814029140301403114032140331403414035140361403714038140391404014041140421404314044140451404614047140481404914050140511405214053140541405514056140571405814059140601406114062140631406414065140661406714068140691407014071140721407314074140751407614077140781407914080140811408214083140841408514086140871408814089140901409114092140931409414095140961409714098140991410014101141021410314104141051410614107141081410914110141111411214113141141411514116141171411814119141201412114122141231412414125141261412714128141291413014131141321413314134141351413614137141381413914140141411414214143141441414514146141471414814149141501415114152141531415414155141561415714158141591416014161141621416314164141651416614167141681416914170141711417214173141741417514176141771417814179141801418114182141831418414185141861418714188141891419014191141921419314194141951419614197141981419914200142011420214203142041420514206142071420814209142101421114212142131421414215142161421714218142191422014221142221422314224142251422614227142281422914230142311423214233142341423514236142371423814239142401424114242142431424414245142461424714248142491425014251142521425314254142551425614257142581425914260142611426214263142641426514266142671426814269142701427114272142731427414275142761427714278142791428014281142821428314284142851428614287142881428914290142911429214293142941429514296142971429814299143001430114302143031430414305143061430714308143091431014311143121431314314143151431614317143181431914320143211432214323143241432514326143271432814329143301433114332143331433414335143361433714338143391434014341143421434314344143451434614347143481434914350143511435214353143541435514356143571435814359143601436114362143631436414365143661436714368143691437014371143721437314374143751437614377143781437914380143811438214383143841438514386143871438814389143901439114392143931439414395143961439714398143991440014401144021440314404144051440614407144081440914410144111441214413144141441514416144171441814419144201442114422144231442414425144261442714428144291443014431144321443314434144351443614437144381443914440144411444214443144441444514446144471444814449144501445114452144531445414455144561445714458144591446014461144621446314464144651446614467144681446914470144711447214473144741447514476144771447814479144801448114482144831448414485144861448714488144891449014491144921449314494144951449614497144981449914500145011450214503145041450514506145071450814509145101451114512145131451414515145161451714518145191452014521145221452314524145251452614527145281452914530145311453214533145341453514536145371453814539145401454114542145431454414545145461454714548145491455014551145521455314554145551455614557145581455914560145611456214563145641456514566145671456814569145701457114572145731457414575145761457714578145791458014581145821458314584145851458614587145881458914590145911459214593145941459514596145971459814599146001460114602146031460414605146061460714608146091461014611146121461314614146151461614617146181461914620146211462214623146241462514626146271462814629146301463114632146331463414635146361463714638146391464014641146421464314644146451464614647146481464914650146511465214653146541465514656146571465814659146601466114662146631466414665146661466714668146691467014671146721467314674146751467614677146781467914680146811468214683146841468514686146871468814689146901469114692146931469414695146961469714698146991470014701147021470314704147051470614707147081470914710147111471214713147141471514716147171471814719147201472114722147231472414725147261472714728147291473014731147321473314734147351473614737147381473914740147411474214743147441474514746147471474814749147501475114752147531475414755147561475714758147591476014761147621476314764147651476614767147681476914770147711477214773147741477514776147771477814779147801478114782147831478414785147861478714788147891479014791147921479314794147951479614797147981479914800148011480214803148041480514806148071480814809148101481114812148131481414815148161481714818148191482014821148221482314824148251482614827148281482914830148311483214833148341483514836148371483814839148401484114842148431484414845148461484714848148491485014851148521485314854148551485614857148581485914860148611486214863148641486514866148671486814869148701487114872148731487414875148761487714878148791488014881148821488314884148851488614887148881488914890148911489214893148941489514896148971489814899149001490114902149031490414905149061490714908149091491014911149121491314914149151491614917149181491914920149211492214923149241492514926149271492814929149301493114932149331493414935149361493714938149391494014941149421494314944149451494614947149481494914950149511495214953149541495514956149571495814959149601496114962149631496414965149661496714968149691497014971149721497314974149751497614977149781497914980149811498214983149841498514986149871498814989149901499114992149931499414995149961499714998149991500015001150021500315004150051500615007150081500915010150111501215013150141501515016150171501815019150201502115022150231502415025150261502715028150291503015031150321503315034150351503615037150381503915040150411504215043150441504515046150471504815049150501505115052150531505415055150561505715058150591506015061150621506315064150651506615067150681506915070150711507215073150741507515076150771507815079150801508115082150831508415085150861508715088150891509015091150921509315094150951509615097150981509915100151011510215103151041510515106151071510815109151101511115112151131511415115151161511715118151191512015121151221512315124151251512615127151281512915130151311513215133151341513515136151371513815139151401514115142151431514415145151461514715148151491515015151151521515315154151551515615157151581515915160151611516215163151641516515166151671516815169151701517115172151731517415175151761517715178151791518015181151821518315184151851518615187151881518915190151911519215193151941519515196151971519815199152001520115202152031520415205152061520715208152091521015211152121521315214152151521615217152181521915220152211522215223152241522515226152271522815229152301523115232152331523415235152361523715238152391524015241152421524315244152451524615247152481524915250152511525215253152541525515256152571525815259152601526115262152631526415265152661526715268152691527015271152721527315274152751527615277152781527915280152811528215283152841528515286152871528815289152901529115292152931529415295152961529715298152991530015301153021530315304153051530615307153081530915310153111531215313153141531515316153171531815319153201532115322153231532415325153261532715328153291533015331153321533315334153351533615337153381533915340153411534215343153441534515346153471534815349153501535115352153531535415355153561535715358153591536015361153621536315364153651536615367153681536915370153711537215373153741537515376153771537815379153801538115382153831538415385153861538715388153891539015391153921539315394153951539615397153981539915400154011540215403154041540515406154071540815409154101541115412154131541415415154161541715418154191542015421154221542315424154251542615427154281542915430154311543215433154341543515436154371543815439154401544115442154431544415445154461544715448154491545015451154521545315454154551545615457154581545915460154611546215463154641546515466154671546815469154701547115472154731547415475154761547715478154791548015481154821548315484154851548615487154881548915490154911549215493154941549515496154971549815499155001550115502155031550415505155061550715508155091551015511155121551315514155151551615517155181551915520155211552215523155241552515526155271552815529155301553115532155331553415535155361553715538155391554015541155421554315544155451554615547155481554915550155511555215553155541555515556155571555815559155601556115562155631556415565155661556715568155691557015571155721557315574155751557615577155781557915580155811558215583155841558515586155871558815589155901559115592155931559415595155961559715598155991560015601156021560315604156051560615607156081560915610156111561215613156141561515616156171561815619156201562115622156231562415625156261562715628156291563015631156321563315634156351563615637156381563915640156411564215643156441564515646156471564815649156501565115652156531565415655156561565715658156591566015661156621566315664156651566615667156681566915670156711567215673156741567515676156771567815679156801568115682156831568415685156861568715688156891569015691156921569315694156951569615697156981569915700157011570215703157041570515706157071570815709157101571115712157131571415715157161571715718157191572015721157221572315724157251572615727157281572915730157311573215733157341573515736157371573815739157401574115742157431574415745157461574715748157491575015751157521575315754157551575615757157581575915760157611576215763157641576515766157671576815769157701577115772157731577415775157761577715778157791578015781157821578315784157851578615787157881578915790157911579215793157941579515796157971579815799158001580115802158031580415805158061580715808158091581015811158121581315814158151581615817158181581915820158211582215823158241582515826158271582815829158301583115832158331583415835158361583715838158391584015841158421584315844158451584615847158481584915850158511585215853158541585515856158571585815859158601586115862158631586415865158661586715868158691587015871158721587315874158751587615877158781587915880158811588215883158841588515886158871588815889158901589115892158931589415895158961589715898158991590015901159021590315904159051590615907159081590915910159111591215913159141591515916159171591815919159201592115922159231592415925159261592715928159291593015931159321593315934159351593615937159381593915940159411594215943159441594515946159471594815949159501595115952159531595415955159561595715958159591596015961159621596315964159651596615967159681596915970159711597215973159741597515976159771597815979159801598115982159831598415985159861598715988159891599015991159921599315994159951599615997159981599916000160011600216003160041600516006160071600816009160101601116012160131601416015160161601716018160191602016021160221602316024160251602616027160281602916030160311603216033160341603516036160371603816039160401604116042160431604416045160461604716048160491605016051160521605316054160551605616057160581605916060160611606216063160641606516066160671606816069160701607116072160731607416075160761607716078160791608016081160821608316084160851608616087160881608916090160911609216093160941609516096160971609816099161001610116102161031610416105161061610716108161091611016111161121611316114161151611616117161181611916120161211612216123161241612516126161271612816129161301613116132161331613416135161361613716138161391614016141161421614316144161451614616147161481614916150161511615216153161541615516156161571615816159161601616116162161631616416165161661616716168161691617016171161721617316174161751617616177161781617916180161811618216183161841618516186161871618816189161901619116192161931619416195161961619716198161991620016201162021620316204162051620616207162081620916210162111621216213162141621516216162171621816219162201622116222162231622416225162261622716228162291623016231162321623316234162351623616237162381623916240162411624216243162441624516246162471624816249162501625116252162531625416255162561625716258162591626016261162621626316264162651626616267162681626916270162711627216273162741627516276162771627816279162801628116282162831628416285162861628716288162891629016291162921629316294162951629616297162981629916300163011630216303163041630516306163071630816309163101631116312163131631416315163161631716318163191632016321163221632316324163251632616327163281632916330163311633216333163341633516336163371633816339163401634116342163431634416345163461634716348163491635016351163521635316354163551635616357163581635916360163611636216363163641636516366163671636816369163701637116372163731637416375163761637716378163791638016381163821638316384163851638616387163881638916390163911639216393163941639516396163971639816399164001640116402164031640416405164061640716408164091641016411164121641316414164151641616417164181641916420164211642216423164241642516426164271642816429164301643116432164331643416435164361643716438164391644016441164421644316444164451644616447164481644916450164511645216453164541645516456164571645816459164601646116462164631646416465164661646716468164691647016471164721647316474164751647616477164781647916480164811648216483164841648516486164871648816489164901649116492164931649416495164961649716498164991650016501165021650316504165051650616507165081650916510165111651216513165141651516516165171651816519165201652116522165231652416525165261652716528165291653016531165321653316534165351653616537165381653916540165411654216543165441654516546165471654816549165501655116552165531655416555165561655716558165591656016561165621656316564165651656616567165681656916570165711657216573165741657516576165771657816579165801658116582165831658416585165861658716588165891659016591165921659316594165951659616597165981659916600166011660216603166041660516606166071660816609166101661116612166131661416615166161661716618166191662016621166221662316624166251662616627166281662916630166311663216633166341663516636166371663816639166401664116642166431664416645166461664716648166491665016651166521665316654166551665616657166581665916660166611666216663166641666516666166671666816669166701667116672166731667416675166761667716678166791668016681166821668316684166851668616687166881668916690166911669216693166941669516696166971669816699167001670116702167031670416705167061670716708167091671016711167121671316714167151671616717167181671916720167211672216723167241672516726167271672816729167301673116732167331673416735167361673716738167391674016741167421674316744167451674616747167481674916750167511675216753167541675516756167571675816759167601676116762167631676416765167661676716768167691677016771167721677316774167751677616777167781677916780167811678216783167841678516786167871678816789167901679116792167931679416795167961679716798167991680016801168021680316804168051680616807168081680916810168111681216813168141681516816168171681816819168201682116822168231682416825168261682716828168291683016831168321683316834168351683616837168381683916840168411684216843168441684516846168471684816849168501685116852168531685416855168561685716858168591686016861168621686316864168651686616867168681686916870168711687216873168741687516876168771687816879168801688116882168831688416885168861688716888168891689016891168921689316894168951689616897168981689916900169011690216903169041690516906169071690816909169101691116912169131691416915169161691716918169191692016921169221692316924169251692616927169281692916930169311693216933169341693516936169371693816939169401694116942169431694416945169461694716948169491695016951169521695316954169551695616957169581695916960169611696216963169641696516966169671696816969169701697116972169731697416975169761697716978169791698016981169821698316984169851698616987169881698916990169911699216993169941699516996169971699816999170001700117002170031700417005170061700717008170091701017011170121701317014170151701617017170181701917020170211702217023170241702517026170271702817029170301703117032170331703417035170361703717038170391704017041170421704317044170451704617047170481704917050170511705217053170541705517056170571705817059170601706117062170631706417065170661706717068170691707017071170721707317074170751707617077170781707917080170811708217083170841708517086170871708817089170901709117092170931709417095170961709717098170991710017101171021710317104171051710617107171081710917110171111711217113171141711517116171171711817119171201712117122171231712417125171261712717128171291713017131171321713317134171351713617137171381713917140171411714217143171441714517146171471714817149171501715117152171531715417155171561715717158171591716017161171621716317164171651716617167171681716917170171711717217173171741717517176171771717817179171801718117182171831718417185171861718717188171891719017191171921719317194171951719617197171981719917200172011720217203172041720517206172071720817209172101721117212172131721417215172161721717218172191722017221172221722317224172251722617227172281722917230172311723217233172341723517236172371723817239172401724117242172431724417245172461724717248172491725017251172521725317254172551725617257172581725917260172611726217263172641726517266172671726817269172701727117272172731727417275172761727717278172791728017281172821728317284172851728617287172881728917290172911729217293172941729517296172971729817299173001730117302173031730417305173061730717308173091731017311173121731317314173151731617317173181731917320173211732217323173241732517326173271732817329173301733117332173331733417335173361733717338173391734017341173421734317344173451734617347173481734917350173511735217353173541735517356173571735817359173601736117362173631736417365173661736717368173691737017371173721737317374173751737617377173781737917380173811738217383173841738517386173871738817389173901739117392173931739417395173961739717398173991740017401174021740317404174051740617407174081740917410174111741217413174141741517416174171741817419174201742117422174231742417425174261742717428174291743017431174321743317434174351743617437174381743917440174411744217443174441744517446174471744817449174501745117452174531745417455174561745717458174591746017461174621746317464174651746617467174681746917470174711747217473174741747517476174771747817479174801748117482174831748417485174861748717488174891749017491174921749317494174951749617497174981749917500175011750217503175041750517506175071750817509175101751117512175131751417515175161751717518175191752017521175221752317524175251752617527175281752917530175311753217533175341753517536175371753817539175401754117542175431754417545175461754717548175491755017551175521755317554175551755617557175581755917560175611756217563175641756517566175671756817569175701757117572175731757417575175761757717578175791758017581175821758317584175851758617587175881758917590175911759217593175941759517596175971759817599176001760117602176031760417605176061760717608176091761017611176121761317614176151761617617176181761917620176211762217623176241762517626176271762817629176301763117632176331763417635176361763717638176391764017641176421764317644176451764617647176481764917650176511765217653176541765517656176571765817659176601766117662176631766417665176661766717668176691767017671176721767317674176751767617677176781767917680176811768217683176841768517686176871768817689176901769117692176931769417695176961769717698176991770017701177021770317704177051770617707177081770917710177111771217713177141771517716177171771817719177201772117722177231772417725177261772717728177291773017731177321773317734177351773617737177381773917740177411774217743177441774517746177471774817749177501775117752177531775417755177561775717758177591776017761177621776317764177651776617767177681776917770177711777217773177741777517776177771777817779177801778117782177831778417785177861778717788177891779017791177921779317794177951779617797177981779917800178011780217803178041780517806178071780817809178101781117812178131781417815178161781717818178191782017821178221782317824178251782617827178281782917830178311783217833178341783517836178371783817839178401784117842178431784417845178461784717848178491785017851178521785317854178551785617857178581785917860178611786217863178641786517866178671786817869178701787117872178731787417875178761787717878178791788017881178821788317884178851788617887178881788917890178911789217893178941789517896178971789817899179001790117902179031790417905179061790717908179091791017911179121791317914179151791617917179181791917920179211792217923179241792517926179271792817929179301793117932179331793417935179361793717938179391794017941179421794317944179451794617947179481794917950179511795217953179541795517956179571795817959179601796117962179631796417965179661796717968179691797017971179721797317974179751797617977179781797917980179811798217983179841798517986179871798817989179901799117992179931799417995179961799717998179991800018001180021800318004180051800618007180081800918010180111801218013180141801518016180171801818019180201802118022180231802418025180261802718028180291803018031180321803318034180351803618037180381803918040180411804218043180441804518046180471804818049180501805118052180531805418055180561805718058180591806018061180621806318064180651806618067180681806918070180711807218073180741807518076180771807818079180801808118082180831808418085180861808718088180891809018091180921809318094180951809618097180981809918100181011810218103181041810518106181071810818109181101811118112181131811418115181161811718118181191812018121181221812318124181251812618127181281812918130181311813218133181341813518136181371813818139181401814118142181431814418145181461814718148181491815018151181521815318154181551815618157181581815918160181611816218163181641816518166181671816818169181701817118172181731817418175181761817718178181791818018181181821818318184181851818618187181881818918190181911819218193181941819518196181971819818199182001820118202182031820418205182061820718208182091821018211182121821318214182151821618217182181821918220182211822218223182241822518226182271822818229182301823118232182331823418235182361823718238182391824018241182421824318244182451824618247182481824918250182511825218253182541825518256182571825818259182601826118262182631826418265182661826718268182691827018271182721827318274182751827618277182781827918280182811828218283182841828518286182871828818289182901829118292182931829418295182961829718298182991830018301183021830318304183051830618307183081830918310183111831218313183141831518316183171831818319183201832118322183231832418325183261832718328183291833018331183321833318334183351833618337183381833918340183411834218343183441834518346183471834818349183501835118352183531835418355183561835718358183591836018361183621836318364183651836618367183681836918370183711837218373183741837518376183771837818379183801838118382183831838418385183861838718388183891839018391183921839318394183951839618397183981839918400184011840218403184041840518406184071840818409184101841118412184131841418415184161841718418184191842018421184221842318424184251842618427184281842918430184311843218433184341843518436184371843818439184401844118442184431844418445184461844718448184491845018451184521845318454184551845618457184581845918460184611846218463184641846518466184671846818469184701847118472184731847418475184761847718478184791848018481184821848318484184851848618487184881848918490184911849218493184941849518496184971849818499185001850118502185031850418505185061850718508185091851018511185121851318514185151851618517185181851918520185211852218523185241852518526185271852818529185301853118532185331853418535185361853718538185391854018541185421854318544185451854618547185481854918550185511855218553185541855518556185571855818559185601856118562185631856418565185661856718568185691857018571185721857318574185751857618577185781857918580185811858218583185841858518586185871858818589185901859118592185931859418595185961859718598185991860018601186021860318604186051860618607186081860918610186111861218613186141861518616186171861818619186201862118622186231862418625186261862718628186291863018631186321863318634186351863618637186381863918640186411864218643186441864518646186471864818649186501865118652186531865418655186561865718658186591866018661186621866318664186651866618667186681866918670186711867218673186741867518676186771867818679186801868118682186831868418685186861868718688186891869018691186921869318694186951869618697186981869918700187011870218703187041870518706187071870818709187101871118712187131871418715187161871718718187191872018721187221872318724187251872618727187281872918730187311873218733187341873518736187371873818739187401874118742187431874418745187461874718748187491875018751187521875318754187551875618757187581875918760187611876218763187641876518766187671876818769187701877118772187731877418775187761877718778187791878018781187821878318784187851878618787187881878918790187911879218793187941879518796187971879818799188001880118802188031880418805188061880718808188091881018811188121881318814188151881618817188181881918820188211882218823188241882518826188271882818829188301883118832188331883418835188361883718838188391884018841188421884318844188451884618847188481884918850188511885218853188541885518856188571885818859188601886118862188631886418865188661886718868188691887018871188721887318874188751887618877188781887918880188811888218883188841888518886188871888818889188901889118892188931889418895188961889718898188991890018901189021890318904189051890618907189081890918910189111891218913189141891518916189171891818919189201892118922189231892418925189261892718928189291893018931189321893318934189351893618937189381893918940189411894218943189441894518946189471894818949189501895118952189531895418955189561895718958189591896018961189621896318964189651896618967189681896918970189711897218973189741897518976189771897818979189801898118982189831898418985189861898718988189891899018991189921899318994189951899618997189981899919000190011900219003190041900519006190071900819009190101901119012190131901419015190161901719018190191902019021190221902319024190251902619027190281902919030190311903219033190341903519036190371903819039190401904119042190431904419045190461904719048190491905019051190521905319054190551905619057190581905919060190611906219063190641906519066190671906819069190701907119072190731907419075190761907719078190791908019081190821908319084190851908619087190881908919090190911909219093190941909519096190971909819099191001910119102191031910419105191061910719108191091911019111191121911319114191151911619117191181911919120191211912219123191241912519126191271912819129191301913119132191331913419135191361913719138191391914019141191421914319144191451914619147191481914919150191511915219153191541915519156191571915819159191601916119162191631916419165191661916719168191691917019171191721917319174191751917619177191781917919180191811918219183191841918519186191871918819189191901919119192191931919419195191961919719198191991920019201192021920319204192051920619207192081920919210192111921219213192141921519216192171921819219192201922119222192231922419225192261922719228192291923019231192321923319234192351923619237192381923919240192411924219243192441924519246192471924819249192501925119252192531925419255192561925719258192591926019261192621926319264192651926619267192681926919270192711927219273192741927519276192771927819279192801928119282192831928419285192861928719288192891929019291192921929319294192951929619297192981929919300193011930219303193041930519306193071930819309193101931119312193131931419315193161931719318193191932019321193221932319324193251932619327193281932919330193311933219333193341933519336193371933819339193401934119342193431934419345193461934719348193491935019351193521935319354193551935619357193581935919360193611936219363193641936519366193671936819369193701937119372193731937419375193761937719378193791938019381193821938319384193851938619387193881938919390193911939219393193941939519396193971939819399194001940119402194031940419405194061940719408194091941019411194121941319414194151941619417194181941919420194211942219423194241942519426194271942819429194301943119432194331943419435194361943719438194391944019441194421944319444194451944619447194481944919450194511945219453194541945519456194571945819459194601946119462194631946419465194661946719468194691947019471194721947319474194751947619477194781947919480194811948219483194841948519486194871948819489194901949119492194931949419495194961949719498194991950019501195021950319504195051950619507195081950919510195111951219513195141951519516195171951819519195201952119522195231952419525195261952719528195291953019531195321953319534195351953619537195381953919540195411954219543195441954519546195471954819549195501955119552195531955419555195561955719558195591956019561195621956319564195651956619567195681956919570195711957219573195741957519576195771957819579195801958119582195831958419585195861958719588195891959019591195921959319594195951959619597195981959919600196011960219603196041960519606196071960819609196101961119612196131961419615196161961719618196191962019621196221962319624196251962619627196281962919630196311963219633196341963519636196371963819639196401964119642196431964419645196461964719648196491965019651196521965319654196551965619657196581965919660196611966219663196641966519666196671966819669196701967119672196731967419675196761967719678196791968019681196821968319684196851968619687196881968919690196911969219693196941969519696196971969819699197001970119702197031970419705197061970719708197091971019711197121971319714197151971619717197181971919720197211972219723197241972519726197271972819729197301973119732197331973419735197361973719738197391974019741197421974319744197451974619747197481974919750197511975219753197541975519756197571975819759197601976119762197631976419765197661976719768197691977019771197721977319774197751977619777197781977919780197811978219783197841978519786197871978819789197901979119792197931979419795197961979719798197991980019801198021980319804198051980619807198081980919810198111981219813198141981519816198171981819819198201982119822198231982419825198261982719828198291983019831198321983319834198351983619837198381983919840198411984219843198441984519846198471984819849198501985119852198531985419855198561985719858198591986019861198621986319864198651986619867198681986919870198711987219873198741987519876198771987819879198801988119882198831988419885198861988719888198891989019891198921989319894198951989619897198981989919900199011990219903199041990519906199071990819909199101991119912199131991419915199161991719918199191992019921199221992319924199251992619927199281992919930199311993219933 |
- <?xml version="1.0"?>
- <!-- This file was automatically generated from C sources - DO NOT EDIT!
- To affect the contents of this file, edit the original C definitions,
- and/or use gtk-doc annotations. -->
- <repository version="1.2"
- xmlns="http://www.gtk.org/introspection/core/1.0"
- xmlns:c="http://www.gtk.org/introspection/c/1.0"
- xmlns:glib="http://www.gtk.org/introspection/glib/1.0">
- <include name="Gio" version="2.0"/>
- <package name="libsoup-2.4"/>
- <c:include name="libsoup/soup.h"/>
- <namespace name="Soup"
- version="2.4"
- shared-library="libsoup-2.4.so.1"
- c:identifier-prefixes="Soup"
- c:symbol-prefixes="soup">
- <constant name="ADDRESS_ANY_PORT" value="0" c:type="SOUP_ADDRESS_ANY_PORT">
- <doc xml:space="preserve">This can be passed to any #SoupAddress method that expects a port,
- to indicate that you don't care what port is used.</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="ADDRESS_FAMILY"
- value="family"
- c:type="SOUP_ADDRESS_FAMILY">
- <doc xml:space="preserve">Alias for the #SoupAddress:family property. (The
- #SoupAddressFamily for this address.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="ADDRESS_NAME" value="name" c:type="SOUP_ADDRESS_NAME">
- <doc xml:space="preserve">Alias for the #SoupAddress:name property. (The hostname for
- this address.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="ADDRESS_PHYSICAL"
- value="physical"
- c:type="SOUP_ADDRESS_PHYSICAL">
- <doc xml:space="preserve">An alias for the #SoupAddress:physical property. (The
- stringified IP address for this address.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="ADDRESS_PORT" value="port" c:type="SOUP_ADDRESS_PORT">
- <doc xml:space="preserve">An alias for the #SoupAddress:port property. (The port for
- this address.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="ADDRESS_PROTOCOL"
- value="protocol"
- c:type="SOUP_ADDRESS_PROTOCOL">
- <doc xml:space="preserve">Alias for the #SoupAddress:protocol property. (The URI scheme
- used with this address.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="ADDRESS_SOCKADDR"
- value="sockaddr"
- c:type="SOUP_ADDRESS_SOCKADDR">
- <doc xml:space="preserve">An alias for the #SoupAddress:sockaddr property. (A pointer
- to the struct sockaddr for this address.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_ADD_PATH"
- value="add-path"
- c:type="SOUP_AUTH_DOMAIN_ADD_PATH">
- <doc xml:space="preserve">Alias for the #SoupAuthDomain:add-path property. (Shortcut
- for calling soup_auth_domain_add_path().)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_BASIC_AUTH_CALLBACK"
- value="auth-callback"
- c:type="SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK">
- <doc xml:space="preserve">Alias for the #SoupAuthDomainBasic:auth-callback property.
- (The #SoupAuthDomainBasicAuthCallback.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_BASIC_AUTH_DATA"
- value="auth-data"
- c:type="SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA">
- <doc xml:space="preserve">Alias for the #SoupAuthDomainBasic:auth-data property.
- (The data to pass to the #SoupAuthDomainBasicAuthCallback.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_BASIC_H"
- value="1"
- c:type="SOUP_AUTH_DOMAIN_BASIC_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="AUTH_DOMAIN_DIGEST_AUTH_CALLBACK"
- value="auth-callback"
- c:type="SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK">
- <doc xml:space="preserve">Alias for the #SoupAuthDomainDigest:auth-callback property.
- (The #SoupAuthDomainDigestAuthCallback.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_DIGEST_AUTH_DATA"
- value="auth-data"
- c:type="SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA">
- <doc xml:space="preserve">Alias for the #SoupAuthDomainDigest:auth-callback property.
- (The #SoupAuthDomainDigestAuthCallback.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_DIGEST_H"
- value="1"
- c:type="SOUP_AUTH_DOMAIN_DIGEST_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="AUTH_DOMAIN_FILTER"
- value="filter"
- c:type="SOUP_AUTH_DOMAIN_FILTER">
- <doc xml:space="preserve">Alias for the #SoupAuthDomain:filter property. (The
- #SoupAuthDomainFilter for the domain.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_FILTER_DATA"
- value="filter-data"
- c:type="SOUP_AUTH_DOMAIN_FILTER_DATA">
- <doc xml:space="preserve">Alias for the #SoupAuthDomain:filter-data property. (Data
- to pass to the #SoupAuthDomainFilter.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_GENERIC_AUTH_CALLBACK"
- value="generic-auth-callback"
- c:type="SOUP_AUTH_DOMAIN_GENERIC_AUTH_CALLBACK">
- <doc xml:space="preserve">Alias for the #SoupAuthDomain:generic-auth-callback property.
- (The #SoupAuthDomainGenericAuthCallback.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_GENERIC_AUTH_DATA"
- value="generic-auth-data"
- c:type="SOUP_AUTH_DOMAIN_GENERIC_AUTH_DATA">
- <doc xml:space="preserve">Alias for the #SoupAuthDomain:generic-auth-data property.
- (The data to pass to the #SoupAuthDomainGenericAuthCallback.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_H" value="1" c:type="SOUP_AUTH_DOMAIN_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="AUTH_DOMAIN_PROXY"
- value="proxy"
- c:type="SOUP_AUTH_DOMAIN_PROXY">
- <doc xml:space="preserve">Alias for the #SoupAuthDomain:proxy property. (Whether or
- not this is a proxy auth domain.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_REALM"
- value="realm"
- c:type="SOUP_AUTH_DOMAIN_REALM">
- <doc xml:space="preserve">Alias for the #SoupAuthDomain:realm property. (The realm of
- this auth domain.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_DOMAIN_REMOVE_PATH"
- value="remove-path"
- c:type="SOUP_AUTH_DOMAIN_REMOVE_PATH">
- <doc xml:space="preserve">Alias for the #SoupAuthDomain:remove-path property.
- (Shortcut for calling soup_auth_domain_remove_path().)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_H" value="1" c:type="SOUP_AUTH_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="AUTH_HOST" value="host" c:type="SOUP_AUTH_HOST">
- <doc xml:space="preserve">An alias for the #SoupAuth:host property. (The
- host being authenticated to.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_IS_AUTHENTICATED"
- value="is-authenticated"
- c:type="SOUP_AUTH_IS_AUTHENTICATED">
- <doc xml:space="preserve">An alias for the #SoupAuth:is-authenticated property.
- (Whether or not the auth has been authenticated.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_IS_FOR_PROXY"
- value="is-for-proxy"
- c:type="SOUP_AUTH_IS_FOR_PROXY">
- <doc xml:space="preserve">An alias for the #SoupAuth:is-for-proxy property. (Whether
- or not the auth is for a proxy server.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_MANAGER_H" value="1" c:type="SOUP_AUTH_MANAGER_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="AUTH_REALM" value="realm" c:type="SOUP_AUTH_REALM">
- <doc xml:space="preserve">An alias for the #SoupAuth:realm property. (The
- authentication realm.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="AUTH_SCHEME_NAME"
- value="scheme-name"
- c:type="SOUP_AUTH_SCHEME_NAME">
- <doc xml:space="preserve">An alias for the #SoupAuth:scheme-name property. (The
- authentication scheme name.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <class name="Address"
- c:symbol-prefix="address"
- c:type="SoupAddress"
- parent="GObject.Object"
- glib:type-name="SoupAddress"
- glib:get-type="soup_address_get_type"
- glib:type-struct="AddressClass">
- <implements name="Gio.SocketConnectable"/>
- <constructor name="new" c:identifier="soup_address_new">
- <doc xml:space="preserve">Creates a #SoupAddress from @name and @port. The #SoupAddress's IP
- address may not be available right away; the caller can call
- soup_address_resolve_async() or soup_address_resolve_sync() to
- force a DNS resolution.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">a hostname or physical address</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="port" transfer-ownership="none">
- <doc xml:space="preserve">a port number</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_any" c:identifier="soup_address_new_any">
- <doc xml:space="preserve">Returns a #SoupAddress corresponding to the "any" address
- for @family (or %NULL if @family isn't supported), suitable for
- using as a listening #SoupSocket.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the new #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </return-value>
- <parameters>
- <parameter name="family" transfer-ownership="none">
- <doc xml:space="preserve">the address family</doc>
- <type name="AddressFamily" c:type="SoupAddressFamily"/>
- </parameter>
- <parameter name="port" transfer-ownership="none">
- <doc xml:space="preserve">the port number (usually %SOUP_ADDRESS_ANY_PORT)</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_sockaddr"
- c:identifier="soup_address_new_from_sockaddr">
- <doc xml:space="preserve">Returns a #SoupAddress equivalent to @sa (or %NULL if @sa's
- address family isn't supported)</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the new #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </return-value>
- <parameters>
- <parameter name="sa"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a pointer to a sockaddr</doc>
- <type name="gpointer" c:type="sockaddr*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">size of @sa</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="equal_by_ip"
- c:identifier="soup_address_equal_by_ip"
- version="2.26">
- <doc xml:space="preserve">Tests if @addr1 and @addr2 have the same IP address. This method
- can be used with soup_address_hash_by_ip() to create a
- #GHashTable that hashes on IP address.
- This would be used to distinguish hosts in situations where
- different virtual hosts on the same IP address should be considered
- the same. Eg, if "www.example.com" and "www.example.net" have the
- same IP address, then a single connection can be used to talk
- to either of them.
- See also soup_address_equal_by_name(), which compares by name
- rather than by IP address.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether or not @addr1 and @addr2 have the same IP
- address.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr1" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress with a resolved IP
- address</doc>
- <type name="Address" c:type="gconstpointer"/>
- </instance-parameter>
- <parameter name="addr2" transfer-ownership="none">
- <doc xml:space="preserve">another #SoupAddress with a resolved
- IP address</doc>
- <type name="Address" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="equal_by_name"
- c:identifier="soup_address_equal_by_name"
- version="2.26">
- <doc xml:space="preserve">Tests if @addr1 and @addr2 have the same "name". This method can be
- used with soup_address_hash_by_name() to create a #GHashTable that
- hashes on address "names".
- Comparing by name normally means comparing the addresses by their
- hostnames. But if the address was originally created using an IP
- address literal, then it will be compared by that instead.
- In particular, if "www.example.com" has the IP address 10.0.0.1,
- and @addr1 was created with the name "www.example.com" and @addr2
- was created with the name "10.0.0.1", then they will compare as
- unequal for purposes of soup_address_equal_by_name().
- This would be used to distinguish hosts in situations where
- different virtual hosts on the same IP address should be considered
- different. Eg, for purposes of HTTP authentication or cookies, two
- hosts with the same IP address but different names are considered
- to be different hosts.
- See also soup_address_equal_by_ip(), which compares by IP address
- rather than by name.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether or not @addr1 and @addr2 have the same name</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr1" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress with a resolved name</doc>
- <type name="Address" c:type="gconstpointer"/>
- </instance-parameter>
- <parameter name="addr2" transfer-ownership="none">
- <doc xml:space="preserve">another #SoupAddress with a resolved
- name</doc>
- <type name="Address" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_gsockaddr"
- c:identifier="soup_address_get_gsockaddr"
- version="2.32">
- <doc xml:space="preserve">Creates a new #GSocketAddress corresponding to @addr (which is assumed
- to only have one socket address associated with it).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GSocketAddress</doc>
- <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_name" c:identifier="soup_address_get_name">
- <doc xml:space="preserve">Returns the hostname associated with @addr.
- This method is not thread-safe; if you call it while @addr is being
- resolved in another thread, it may return garbage. You can use
- soup_address_is_resolved() to safely test whether or not an address
- is resolved before fetching its name or address.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the hostname, or %NULL if it is not known.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_physical" c:identifier="soup_address_get_physical">
- <doc xml:space="preserve">Returns the physical address associated with @addr as a string.
- (Eg, "127.0.0.1"). If the address is not yet known, returns %NULL.
- This method is not thread-safe; if you call it while @addr is being
- resolved in another thread, it may return garbage. You can use
- soup_address_is_resolved() to safely test whether or not an address
- is resolved before fetching its name or address.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the physical address, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_port" c:identifier="soup_address_get_port">
- <doc xml:space="preserve">Returns the port associated with @addr.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the port</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_sockaddr" c:identifier="soup_address_get_sockaddr">
- <doc xml:space="preserve">Returns the sockaddr associated with @addr, with its length in
- *@len. If the sockaddr is not yet known, returns %NULL.
- This method is not thread-safe; if you call it while @addr is being
- resolved in another thread, it may return garbage. You can use
- soup_address_is_resolved() to safely test whether or not an address
- is resolved before fetching its name or address.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the sockaddr, or %NULL</doc>
- <type name="gpointer" c:type="sockaddr*"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </instance-parameter>
- <parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">return location for sockaddr length</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="hash_by_ip"
- c:identifier="soup_address_hash_by_ip"
- version="2.26">
- <doc xml:space="preserve">A hash function (for #GHashTable) that corresponds to
- soup_address_equal_by_ip(), qv</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the IP-based hash value for @addr.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="gconstpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="hash_by_name"
- c:identifier="soup_address_hash_by_name"
- version="2.26">
- <doc xml:space="preserve">A hash function (for #GHashTable) that corresponds to
- soup_address_equal_by_name(), qv</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the named-based hash value for @addr.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="gconstpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_resolved" c:identifier="soup_address_is_resolved">
- <doc xml:space="preserve">Tests if @addr has already been resolved. Unlike the other
- #SoupAddress "get" methods, this is safe to call when @addr might
- be being resolved in another thread.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @addr has been resolved.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="resolve_async" c:identifier="soup_address_resolve_async">
- <doc xml:space="preserve">Asynchronously resolves the missing half of @addr (its IP address
- if it was created with soup_address_new(), or its hostname if it
- was created with soup_address_new_from_sockaddr() or
- soup_address_new_any().)
- If @cancellable is non-%NULL, it can be used to cancel the
- resolution. @callback will still be invoked in this case, with a
- status of %SOUP_STATUS_CANCELLED.
- It is safe to call this more than once on a given address, from the
- same thread, with the same @async_context (and doing so will not
- result in redundant DNS queries being made). But it is not safe to
- call from multiple threads, or with different @async_contexts, or
- mixed with calls to soup_address_resolve_sync().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </instance-parameter>
- <parameter name="async_context"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GMainContext to call @callback from</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable object, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="async"
- closure="3">
- <doc xml:space="preserve">callback to call with the result</doc>
- <type name="AddressCallback" c:type="SoupAddressCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="resolve_sync" c:identifier="soup_address_resolve_sync">
- <doc xml:space="preserve">Synchronously resolves the missing half of @addr, as with
- soup_address_resolve_async().
- If @cancellable is non-%NULL, it can be used to cancel the
- resolution. soup_address_resolve_sync() will then return a status
- of %SOUP_STATUS_CANCELLED.
- It is safe to call this more than once, even from different
- threads, but it is not safe to mix calls to
- soup_address_resolve_sync() with calls to
- soup_address_resolve_async() on the same address.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%SOUP_STATUS_OK, %SOUP_STATUS_CANT_RESOLVE, or
- %SOUP_STATUS_CANCELLED.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </instance-parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable object, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <property name="family"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="AddressFamily"/>
- </property>
- <property name="name"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="physical" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="port"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gint" c:type="gint"/>
- </property>
- <property name="protocol"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="sockaddr"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <callback name="AddressCallback" c:type="SoupAddressCallback">
- <doc xml:space="preserve">The callback function passed to soup_address_resolve_async().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="addr" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupAddress that was resolved</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </parameter>
- <parameter name="status" transfer-ownership="none">
- <doc xml:space="preserve">%SOUP_STATUS_OK, %SOUP_STATUS_CANT_RESOLVE, or
- %SOUP_STATUS_CANCELLED</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">the user data that was passed to
- soup_address_resolve_async()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="AddressClass"
- c:type="SoupAddressClass"
- glib:is-gtype-struct-for="Address">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <enumeration name="AddressFamily"
- glib:type-name="SoupAddressFamily"
- glib:get-type="soup_address_family_get_type"
- c:type="SoupAddressFamily">
- <doc xml:space="preserve">The supported address families.</doc>
- <member name="invalid"
- value="-1"
- c:identifier="SOUP_ADDRESS_FAMILY_INVALID"
- glib:nick="invalid">
- <doc xml:space="preserve">an invalid %SoupAddress</doc>
- </member>
- <member name="ipv4"
- value="2"
- c:identifier="SOUP_ADDRESS_FAMILY_IPV4"
- glib:nick="ipv4">
- <doc xml:space="preserve">an IPv4 address</doc>
- </member>
- <member name="ipv6"
- value="10"
- c:identifier="SOUP_ADDRESS_FAMILY_IPV6"
- glib:nick="ipv6">
- <doc xml:space="preserve">an IPv6 address</doc>
- </member>
- </enumeration>
- <class name="Auth"
- c:symbol-prefix="auth"
- c:type="SoupAuth"
- parent="GObject.Object"
- abstract="1"
- glib:type-name="SoupAuth"
- glib:get-type="soup_auth_get_type"
- glib:type-struct="AuthClass">
- <doc xml:space="preserve">The abstract base class for handling authentication. Specific HTTP
- Authentication mechanisms are implemented by its subclasses, but
- applications never need to be aware of the specific subclasses
- being used.</doc>
- <constructor name="new" c:identifier="soup_auth_new">
- <doc xml:space="preserve">Creates a new #SoupAuth of type @type with the information from
- @msg and @auth_header.
- This is called by #SoupSession; you will normally not create auths
- yourself.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the new #SoupAuth, or %NULL if it could
- not be created</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the type of auth to create (a subtype of #SoupAuth)</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage the auth is being created for</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth_header" transfer-ownership="none">
- <doc xml:space="preserve">the WWW-Authenticate/Proxy-Authenticate header</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </constructor>
- <virtual-method name="authenticate" invoker="authenticate">
- <doc xml:space="preserve">Call this on an auth to authenticate it; normally this will cause
- the auth's message to be requeued with the new authentication info.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">the username provided by the user or client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <doc xml:space="preserve">the password provided by the user or client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="can_authenticate"
- invoker="can_authenticate"
- version="2.54">
- <doc xml:space="preserve">Tests if @auth is able to authenticate by providing credentials to the
- soup_auth_authenticate().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth is able to accept credentials.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_authorization" invoker="get_authorization">
- <doc xml:space="preserve">Generates an appropriate "Authorization" header for @msg. (The
- session will only call this if soup_auth_is_authenticated()
- returned %TRUE.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the "Authorization" header, which must be freed.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage to be authorized</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_protection_space"
- invoker="get_protection_space">
- <doc xml:space="preserve">Returns a list of paths on the server which @auth extends over.
- (All subdirectories of these paths are also assumed to be part
- of @auth's protection space, unless otherwise discovered not to
- be.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the list of
- paths, which can be freed with soup_auth_free_protection_space().</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="source_uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI of the request that @auth was generated in
- response to.</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="is_authenticated" invoker="is_authenticated">
- <doc xml:space="preserve">Tests if @auth has been given a username and password</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth has been given a username and password</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="is_ready" invoker="is_ready" version="2.42">
- <doc xml:space="preserve">Tests if @auth is ready to make a request for @msg with. For most
- auths, this is equivalent to soup_auth_is_authenticated(), but for
- some auth types (eg, NTLM), the auth may be sendable (eg, as an
- authentication request) even before it is authenticated.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth is ready to make a request with.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="update" invoker="update">
- <doc xml:space="preserve">Updates @auth with the information from @msg and @auth_header,
- possibly un-authenticating it. As with soup_auth_new(), this is
- normally only used by #SoupSession.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth is still a valid (but potentially
- unauthenticated) #SoupAuth. %FALSE if something about @auth_params
- could not be parsed or incorporated into @auth at all.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage @auth is being updated for</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth_header" transfer-ownership="none">
- <doc xml:space="preserve">the WWW-Authenticate/Proxy-Authenticate header</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="gpointer" c:type="gpointer"/>
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="authenticate" c:identifier="soup_auth_authenticate">
- <doc xml:space="preserve">Call this on an auth to authenticate it; normally this will cause
- the auth's message to be requeued with the new authentication info.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">the username provided by the user or client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <doc xml:space="preserve">the password provided by the user or client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="can_authenticate"
- c:identifier="soup_auth_can_authenticate"
- version="2.54">
- <doc xml:space="preserve">Tests if @auth is able to authenticate by providing credentials to the
- soup_auth_authenticate().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth is able to accept credentials.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free_protection_space"
- c:identifier="soup_auth_free_protection_space"
- introspectable="0">
- <doc xml:space="preserve">Frees @space.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="space" transfer-ownership="none">
- <doc xml:space="preserve">the return value from soup_auth_get_protection_space()</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </parameter>
- </parameters>
- </method>
- <method name="get_authorization"
- c:identifier="soup_auth_get_authorization">
- <doc xml:space="preserve">Generates an appropriate "Authorization" header for @msg. (The
- session will only call this if soup_auth_is_authenticated()
- returned %TRUE.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the "Authorization" header, which must be freed.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage to be authorized</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_host" c:identifier="soup_auth_get_host">
- <doc xml:space="preserve">Returns the host that @auth is associated with.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the hostname</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_info" c:identifier="soup_auth_get_info">
- <doc xml:space="preserve">Gets an opaque identifier for @auth, for use as a hash key or the
- like. #SoupAuth objects from the same server with the same
- identifier refer to the same authentication domain (eg, the URLs
- associated with them take the same usernames and passwords).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the identifier</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_protection_space"
- c:identifier="soup_auth_get_protection_space">
- <doc xml:space="preserve">Returns a list of paths on the server which @auth extends over.
- (All subdirectories of these paths are also assumed to be part
- of @auth's protection space, unless otherwise discovered not to
- be.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the list of
- paths, which can be freed with soup_auth_free_protection_space().</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="source_uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI of the request that @auth was generated in
- response to.</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_realm" c:identifier="soup_auth_get_realm">
- <doc xml:space="preserve">Returns @auth's realm. This is an identifier that distinguishes
- separate authentication spaces on a given server, and may be some
- string that is meaningful to the user. (Although it is probably not
- localized.)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the realm name</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_saved_password"
- c:identifier="soup_auth_get_saved_password">
- <return-value transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="user" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_saved_users" c:identifier="soup_auth_get_saved_users">
- <return-value transfer-ownership="full">
- <type name="GLib.SList" c:type="GSList*">
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_scheme_name" c:identifier="soup_auth_get_scheme_name">
- <doc xml:space="preserve">Returns @auth's scheme name. (Eg, "Basic", "Digest", or "NTLM")</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the scheme name</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="has_saved_password"
- c:identifier="soup_auth_has_saved_password">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="username" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_authenticated"
- c:identifier="soup_auth_is_authenticated">
- <doc xml:space="preserve">Tests if @auth has been given a username and password</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth has been given a username and password</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_for_proxy" c:identifier="soup_auth_is_for_proxy">
- <doc xml:space="preserve">Tests whether or not @auth is associated with a proxy server rather
- than an "origin" server.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE or %FALSE</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_ready" c:identifier="soup_auth_is_ready" version="2.42">
- <doc xml:space="preserve">Tests if @auth is ready to make a request for @msg with. For most
- auths, this is equivalent to soup_auth_is_authenticated(), but for
- some auth types (eg, NTLM), the auth may be sendable (eg, as an
- authentication request) even before it is authenticated.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth is ready to make a request with.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="save_password" c:identifier="soup_auth_save_password">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="username" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="update" c:identifier="soup_auth_update">
- <doc xml:space="preserve">Updates @auth with the information from @msg and @auth_header,
- possibly un-authenticating it. As with soup_auth_new(), this is
- normally only used by #SoupSession.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth is still a valid (but potentially
- unauthenticated) #SoupAuth. %FALSE if something about @auth_params
- could not be parsed or incorporated into @auth at all.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage @auth is being updated for</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth_header" transfer-ownership="none">
- <doc xml:space="preserve">the WWW-Authenticate/Proxy-Authenticate header</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <property name="host" writable="1" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="is-authenticated" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="is-for-proxy" writable="1" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="realm" writable="1" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="scheme-name" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="realm">
- <type name="utf8" c:type="char*"/>
- </field>
- </class>
- <class name="AuthBasic"
- c:symbol-prefix="auth_basic"
- parent="Auth"
- glib:type-name="SoupAuthBasic"
- glib:get-type="soup_auth_basic_get_type">
- </class>
- <record name="AuthClass"
- c:type="SoupAuthClass"
- glib:is-gtype-struct-for="Auth">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="scheme_name">
- <type name="utf8" c:type="const char*"/>
- </field>
- <field name="strength">
- <type name="guint" c:type="guint"/>
- </field>
- <field name="update">
- <callback name="update">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth is still a valid (but potentially
- unauthenticated) #SoupAuth. %FALSE if something about @auth_params
- could not be parsed or incorporated into @auth at all.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage @auth is being updated for</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth_header" transfer-ownership="none">
- <doc xml:space="preserve">the WWW-Authenticate/Proxy-Authenticate header</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="gpointer" c:type="gpointer"/>
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_protection_space">
- <callback name="get_protection_space">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the list of
- paths, which can be freed with soup_auth_free_protection_space().</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="source_uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI of the request that @auth was generated in
- response to.</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="authenticate">
- <callback name="authenticate">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">the username provided by the user or client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <doc xml:space="preserve">the password provided by the user or client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="is_authenticated">
- <callback name="is_authenticated">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth has been given a username and password</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_authorization">
- <callback name="get_authorization">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the "Authorization" header, which must be freed.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage to be authorized</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="is_ready">
- <callback name="is_ready">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth is ready to make a request with.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="can_authenticate">
- <callback name="can_authenticate">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @auth is able to accept credentials.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuth</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <class name="AuthDigest"
- c:symbol-prefix="auth_digest"
- parent="Auth"
- glib:type-name="SoupAuthDigest"
- glib:get-type="soup_auth_digest_get_type">
- </class>
- <class name="AuthDomain"
- c:symbol-prefix="auth_domain"
- c:type="SoupAuthDomain"
- parent="GObject.Object"
- abstract="1"
- glib:type-name="SoupAuthDomain"
- glib:get-type="soup_auth_domain_get_type"
- glib:type-struct="AuthDomainClass">
- <virtual-method name="accepts">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="header" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="challenge">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="check_password" invoker="check_password">
- <doc xml:space="preserve">Checks if @msg authenticates to @domain via @username and
- @password. This would normally be called from a
- #SoupAuthDomainGenericAuthCallback.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether or not the message is authenticated</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">a username</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <doc xml:space="preserve">a password</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="accepts" c:identifier="soup_auth_domain_accepts">
- <doc xml:space="preserve">Checks if @msg contains appropriate authorization for @domain to
- accept it. Mirroring soup_auth_domain_covers(), this does not check
- whether or not @domain <emphasis>cares</emphasis> if @msg is
- authorized.
- This is used by #SoupServer internally and is probably of no use to
- anyone else.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the username that @msg has authenticated
- as, if in fact it has authenticated. %NULL otherwise.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_path" c:identifier="soup_auth_domain_add_path">
- <doc xml:space="preserve">Adds @path to @domain, such that requests under @path on @domain's
- server will require authentication (unless overridden by
- soup_auth_domain_remove_path() or soup_auth_domain_set_filter()).
- You can also add paths by setting the %SOUP_AUTH_DOMAIN_ADD_PATH
- property, which can also be used to add one or more paths at
- construct time.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="path" transfer-ownership="none">
- <doc xml:space="preserve">the path to add to @domain</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="basic_set_auth_callback"
- c:identifier="soup_auth_domain_basic_set_auth_callback">
- <doc xml:space="preserve">Sets the callback that @domain will use to authenticate incoming
- requests. For each request containing authorization, @domain will
- invoke the callback, and then either accept or reject the request
- based on @callback's return value.
- You can also set the auth callback by setting the
- %SOUP_AUTH_DOMAIN_BASIC_AUTH_CALLBACK and
- %SOUP_AUTH_DOMAIN_BASIC_AUTH_DATA properties, which can also be
- used to set the callback at construct time.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">the domain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="notified"
- closure="1"
- destroy="2">
- <doc xml:space="preserve">the callback</doc>
- <type name="AuthDomainBasicAuthCallback"
- c:type="SoupAuthDomainBasicAuthCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @auth_callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="dnotify" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">destroy notifier to free @user_data when @domain
- is destroyed</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="challenge" c:identifier="soup_auth_domain_challenge">
- <doc xml:space="preserve">Adds a "WWW-Authenticate" or "Proxy-Authenticate" header to @msg,
- requesting that the client authenticate, and sets @msg's status
- accordingly.
- This is used by #SoupServer internally and is probably of no use to
- anyone else.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="check_password"
- c:identifier="soup_auth_domain_check_password">
- <doc xml:space="preserve">Checks if @msg authenticates to @domain via @username and
- @password. This would normally be called from a
- #SoupAuthDomainGenericAuthCallback.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether or not the message is authenticated</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">a username</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <doc xml:space="preserve">a password</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="covers" c:identifier="soup_auth_domain_covers">
- <doc xml:space="preserve">Checks if @domain requires @msg to be authenticated (according to
- its paths and filter function). This does not actually look at
- whether @msg <emphasis>is</emphasis> authenticated, merely whether
- or not it needs to be.
- This is used by #SoupServer internally and is probably of no use to
- anyone else.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @domain requires @msg to be authenticated</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="digest_set_auth_callback"
- c:identifier="soup_auth_domain_digest_set_auth_callback">
- <doc xml:space="preserve">Sets the callback that @domain will use to authenticate incoming
- requests. For each request containing authorization, @domain will
- invoke the callback, and then either accept or reject the request
- based on @callback's return value.
- You can also set the auth callback by setting the
- %SOUP_AUTH_DOMAIN_DIGEST_AUTH_CALLBACK and
- %SOUP_AUTH_DOMAIN_DIGEST_AUTH_DATA properties, which can also be
- used to set the callback at construct time.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">the domain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="notified"
- closure="1"
- destroy="2">
- <doc xml:space="preserve">the callback</doc>
- <type name="AuthDomainDigestAuthCallback"
- c:type="SoupAuthDomainDigestAuthCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @auth_callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="dnotify" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">destroy notifier to free @user_data when @domain
- is destroyed</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_realm" c:identifier="soup_auth_domain_get_realm">
- <doc xml:space="preserve">Gets the realm name associated with @domain</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@domain's realm</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="remove_path" c:identifier="soup_auth_domain_remove_path">
- <doc xml:space="preserve">Removes @path from @domain, such that requests under @path on
- @domain's server will NOT require authentication.
- This is not simply an undo-er for soup_auth_domain_add_path(); it
- can be used to "carve out" a subtree that does not require
- authentication inside a hierarchy that does. Note also that unlike
- with soup_auth_domain_add_path(), this cannot be overridden by
- adding a filter, as filters can only bypass authentication that
- would otherwise be required, not require it where it would
- otherwise be unnecessary.
- You can also remove paths by setting the
- %SOUP_AUTH_DOMAIN_REMOVE_PATH property, which can also be used to
- remove one or more paths at construct time.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="path" transfer-ownership="none">
- <doc xml:space="preserve">the path to remove from @domain</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_filter" c:identifier="soup_auth_domain_set_filter">
- <doc xml:space="preserve">Adds @filter as an authentication filter to @domain. The filter
- gets a chance to bypass authentication for certain requests that
- would otherwise require it. Eg, it might check the message's path
- in some way that is too complicated to do via the other methods, or
- it might check the message's method, and allow GETs but not PUTs.
- The filter function returns %TRUE if the request should still
- require authentication, or %FALSE if authentication is unnecessary
- for this request.
- To help prevent security holes, your filter should return %TRUE by
- default, and only return %FALSE under specifically-tested
- circumstances, rather than the other way around. Eg, in the example
- above, where you want to authenticate PUTs but not GETs, you should
- check if the method is GET and return %FALSE in that case, and then
- return %TRUE for all other methods (rather than returning %TRUE for
- PUT and %FALSE for all other methods). This way if it turned out
- (now or later) that some paths supported additional methods besides
- GET and PUT, those methods would default to being NOT allowed for
- unauthenticated users.
- You can also set the filter by setting the %SOUP_AUTH_DOMAIN_FILTER
- and %SOUP_AUTH_DOMAIN_FILTER_DATA properties, which can also be
- used to set the filter at construct time.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="filter"
- transfer-ownership="none"
- scope="notified"
- closure="1"
- destroy="2">
- <doc xml:space="preserve">the auth filter for @domain</doc>
- <type name="AuthDomainFilter" c:type="SoupAuthDomainFilter"/>
- </parameter>
- <parameter name="filter_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @filter</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="dnotify" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">destroy notifier to free @filter_data when @domain
- is destroyed</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_generic_auth_callback"
- c:identifier="soup_auth_domain_set_generic_auth_callback">
- <doc xml:space="preserve">Sets @auth_callback as an authentication-handling callback for
- @domain. Whenever a request comes in to @domain which cannot be
- authenticated via a domain-specific auth callback (eg,
- #SoupAuthDomainDigestAuthCallback), the generic auth callback
- will be invoked. See #SoupAuthDomainGenericAuthCallback for information
- on what the callback should do.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="auth_callback"
- transfer-ownership="none"
- scope="notified"
- closure="1"
- destroy="2">
- <doc xml:space="preserve">the auth callback</doc>
- <type name="AuthDomainGenericAuthCallback"
- c:type="SoupAuthDomainGenericAuthCallback"/>
- </parameter>
- <parameter name="auth_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @auth_callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="dnotify" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">destroy notifier to free @auth_data when @domain
- is destroyed</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="try_generic_auth_callback"
- c:identifier="soup_auth_domain_try_generic_auth_callback">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="domain" transfer-ownership="none">
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="username" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <property name="add-path"
- readable="0"
- writable="1"
- transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="filter" writable="1" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="filter-data" writable="1" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="generic-auth-callback"
- writable="1"
- transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="generic-auth-data"
- writable="1"
- transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="proxy"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="realm"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="remove-path"
- readable="0"
- writable="1"
- transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <class name="AuthDomainBasic"
- c:symbol-prefix="auth_domain_basic"
- c:type="SoupAuthDomainBasic"
- parent="AuthDomain"
- glib:type-name="SoupAuthDomainBasic"
- glib:get-type="soup_auth_domain_basic_get_type"
- glib:type-struct="AuthDomainBasicClass">
- <constructor name="new"
- c:identifier="soup_auth_domain_basic_new"
- introspectable="0">
- <doc xml:space="preserve">Creates a #SoupAuthDomainBasic. You must set the
- %SOUP_AUTH_DOMAIN_REALM parameter, to indicate the realm name to be
- returned with the authentication challenge to the client. Other
- parameters are optional.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </return-value>
- <parameters>
- <parameter name="optname1" transfer-ownership="none">
- <doc xml:space="preserve">name of first option, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">option name/value pairs</doc>
- <varargs/>
- </parameter>
- </parameters>
- </constructor>
- <property name="auth-callback" writable="1" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="auth-data" writable="1" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <field name="parent">
- <type name="AuthDomain" c:type="SoupAuthDomain"/>
- </field>
- </class>
- <callback name="AuthDomainBasicAuthCallback"
- c:type="SoupAuthDomainBasicAuthCallback">
- <doc xml:space="preserve">Callback used by #SoupAuthDomainBasic for authentication purposes.
- The application should verify that @username and @password and valid
- and return %TRUE or %FALSE.
- If you are maintaining your own password database (rather than
- using the password to authenticate against some other system like
- PAM or a remote server), you should make sure you know what you are
- doing. In particular, don't store cleartext passwords, or
- easily-computed hashes of cleartext passwords, even if you don't
- care that much about the security of your server, because users
- will frequently use the same password for multiple sites, and so
- compromising any site with a cleartext (or easily-cracked) password
- database may give attackers access to other more-interesting sites
- as well.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @username and @password are valid</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">the domain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message being authenticated</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">the username provided by the client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <doc xml:space="preserve">the password provided by the client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="4">
- <doc xml:space="preserve">the data passed to soup_auth_domain_basic_set_auth_callback()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="AuthDomainBasicClass"
- c:type="SoupAuthDomainBasicClass"
- glib:is-gtype-struct-for="AuthDomainBasic">
- <field name="parent_class">
- <type name="AuthDomainClass" c:type="SoupAuthDomainClass"/>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <record name="AuthDomainClass"
- c:type="SoupAuthDomainClass"
- glib:is-gtype-struct-for="AuthDomain">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="accepts">
- <callback name="accepts">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="domain" transfer-ownership="none">
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="header" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="challenge">
- <callback name="challenge">
- <return-value transfer-ownership="full">
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="domain" transfer-ownership="none">
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="check_password">
- <callback name="check_password">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether or not the message is authenticated</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">a username</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <doc xml:space="preserve">a password</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <class name="AuthDomainDigest"
- c:symbol-prefix="auth_domain_digest"
- c:type="SoupAuthDomainDigest"
- parent="AuthDomain"
- glib:type-name="SoupAuthDomainDigest"
- glib:get-type="soup_auth_domain_digest_get_type"
- glib:type-struct="AuthDomainDigestClass">
- <constructor name="new"
- c:identifier="soup_auth_domain_digest_new"
- introspectable="0">
- <doc xml:space="preserve">Creates a #SoupAuthDomainDigest. You must set the
- %SOUP_AUTH_DOMAIN_REALM parameter, to indicate the realm name to be
- returned with the authentication challenge to the client. Other
- parameters are optional.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </return-value>
- <parameters>
- <parameter name="optname1" transfer-ownership="none">
- <doc xml:space="preserve">name of first option, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">option name/value pairs</doc>
- <varargs/>
- </parameter>
- </parameters>
- </constructor>
- <function name="encode_password"
- c:identifier="soup_auth_domain_digest_encode_password">
- <doc xml:space="preserve">Encodes the username/realm/password triplet for Digest
- authentication. (That is, it returns a stringified MD5 hash of
- @username, @realm, and @password concatenated together). This is
- the form that is needed as the return value of
- #SoupAuthDomainDigest's auth handler.
- For security reasons, you should store the encoded hash, rather
- than storing the cleartext password itself and calling this method
- only when you need to verify it. This way, if your server is
- compromised, the attackers will not gain access to cleartext
- passwords which might also be usable at other sites. (Note also
- that the encoded password returned by this method is identical to
- the encoded password stored in an Apache .htdigest file.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the encoded password</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">a username</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="realm" transfer-ownership="none">
- <doc xml:space="preserve">an auth realm name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="password" transfer-ownership="none">
- <doc xml:space="preserve">the password for @username in @realm</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <property name="auth-callback" writable="1" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="auth-data" writable="1" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <field name="parent">
- <type name="AuthDomain" c:type="SoupAuthDomain"/>
- </field>
- </class>
- <callback name="AuthDomainDigestAuthCallback"
- c:type="SoupAuthDomainDigestAuthCallback">
- <doc xml:space="preserve">Callback used by #SoupAuthDomainDigest for authentication purposes.
- The application should look up @username in its password database,
- and return the corresponding encoded password (see
- soup_auth_domain_digest_encode_password()).</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the encoded password, or %NULL if
- @username is not a valid user. @domain will free the password when
- it is done with it.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">the domain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message being authenticated</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">the username provided by the client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="3">
- <doc xml:space="preserve">the data passed to soup_auth_domain_digest_set_auth_callback()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="AuthDomainDigestClass"
- c:type="SoupAuthDomainDigestClass"
- glib:is-gtype-struct-for="AuthDomainDigest">
- <field name="parent_class">
- <type name="AuthDomainClass" c:type="SoupAuthDomainClass"/>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <callback name="AuthDomainFilter" c:type="SoupAuthDomainFilter">
- <doc xml:space="preserve">The prototype for a #SoupAuthDomain filter; see
- soup_auth_domain_set_filter() for details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @msg requires authentication, %FALSE if not.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">the data passed to soup_auth_domain_set_filter()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <callback name="AuthDomainGenericAuthCallback"
- c:type="SoupAuthDomainGenericAuthCallback">
- <doc xml:space="preserve">The prototype for a #SoupAuthDomain generic authentication callback.
- The callback should look up the user's password, call
- soup_auth_domain_check_password(), and use the return value from
- that method as its own return value.
- In general, for security reasons, it is preferable to use the
- auth-domain-specific auth callbacks (eg,
- #SoupAuthDomainBasicAuthCallback and
- #SoupAuthDomainDigestAuthCallback), because they don't require
- keeping a cleartext password database. Most users will use the same
- password for many different sites, meaning if any site with a
- cleartext password database is compromised, accounts on other
- servers might be compromised as well. For many of the cases where
- #SoupServer is used, this is not really relevant, but it may still
- be worth considering.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @msg is authenticated, %FALSE if not.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage being authenticated</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="username" transfer-ownership="none">
- <doc xml:space="preserve">the username from @msg</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="3">
- <doc xml:space="preserve">the data passed to
- soup_auth_domain_set_generic_auth_callback()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <class name="AuthManager"
- c:symbol-prefix="auth_manager"
- c:type="SoupAuthManager"
- parent="GObject.Object"
- glib:type-name="SoupAuthManager"
- glib:get-type="soup_auth_manager_get_type"
- glib:type-struct="AuthManagerClass">
- <implements name="SessionFeature"/>
- <virtual-method name="authenticate">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="manager" transfer-ownership="none">
- <type name="AuthManager" c:type="SoupAuthManager*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="use_auth"
- c:identifier="soup_auth_manager_use_auth"
- version="2.42">
- <doc xml:space="preserve">Records that @auth is to be used under @uri, as though a
- WWW-Authenticate header had been received at that URI. This can be
- used to "preload" @manager's auth cache, to avoid an extra HTTP
- round trip in the case where you know ahead of time that a 401
- response will be returned.
- This is only useful for authentication types where the initial
- Authorization header does not depend on any additional information
- from the server. (Eg, Basic or NTLM, but not Digest.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="manager" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthManager</doc>
- <type name="AuthManager" c:type="SoupAuthManager*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupURI under which @auth is to be used</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupAuth to use</doc>
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="priv">
- <type name="AuthManagerPrivate" c:type="SoupAuthManagerPrivate*"/>
- </field>
- <glib:signal name="authenticate" when="first">
- <doc xml:space="preserve">Emitted when the manager requires the application to
- provide authentication credentials.
- #SoupSession connects to this signal and emits its own
- #SoupSession::authenticate signal when it is emitted, so
- you shouldn't need to use this signal directly.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage being sent</doc>
- <type name="Message"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupAuth to authenticate</doc>
- <type name="Auth"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if this is the second (or later) attempt</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="AuthManagerClass"
- c:type="SoupAuthManagerClass"
- glib:is-gtype-struct-for="AuthManager">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="authenticate">
- <callback name="authenticate">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="manager" transfer-ownership="none">
- <type name="AuthManager" c:type="SoupAuthManager*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <record name="AuthManagerPrivate"
- c:type="SoupAuthManagerPrivate"
- disguised="1">
- </record>
- <class name="AuthNTLM"
- c:symbol-prefix="auth_ntlm"
- parent="Auth"
- glib:type-name="SoupAuthNTLM"
- glib:get-type="soup_auth_ntlm_get_type">
- </class>
- <class name="AuthNegotiate"
- c:symbol-prefix="auth_negotiate"
- parent="Auth"
- glib:type-name="SoupAuthNegotiate"
- glib:get-type="soup_auth_negotiate_get_type">
- <function name="supported"
- c:identifier="soup_auth_negotiate_supported"
- version="2.54">
- <doc xml:space="preserve">Indicates whether libsoup was built with GSSAPI support. If this is
- %FALSE, %SOUP_TYPE_AUTH_NEGOTIATE will still be defined and can
- still be added to a #SoupSession, but libsoup will never attempt to
- actually use this auth type.</doc>
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- </function>
- </class>
- <record name="Buffer"
- c:type="SoupBuffer"
- glib:type-name="SoupBuffer"
- glib:get-type="soup_buffer_get_type"
- c:symbol-prefix="buffer">
- <doc xml:space="preserve">A data buffer, generally used to represent a chunk of a
- #SoupMessageBody.
- @data is a #char because that's generally convenient; in some
- situations you may need to cast it to #guchar or another type.</doc>
- <field name="data" writable="1">
- <doc xml:space="preserve">the data</doc>
- <type name="gpointer"/>
- </field>
- <field name="length" writable="1">
- <doc xml:space="preserve">length of @data</doc>
- <type name="gsize" c:type="gsize"/>
- </field>
- <constructor name="new"
- c:identifier="soup_buffer_new"
- shadowed-by="new_take">
- <doc xml:space="preserve">Creates a new #SoupBuffer containing @length bytes from @data.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupBuffer.</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="use" transfer-ownership="none">
- <doc xml:space="preserve">how @data is to be used by the buffer</doc>
- <type name="MemoryUse" c:type="SoupMemoryUse"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">data</doc>
- <array length="2" zero-terminated="0" c:type="gconstpointer">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @data</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_take"
- c:identifier="soup_buffer_new_take"
- shadows="new"
- version="2.32">
- <doc xml:space="preserve">Creates a new #SoupBuffer containing @length bytes from @data.
- This function is exactly equivalent to soup_buffer_new() with
- %SOUP_MEMORY_TAKE as first argument; it exists mainly for
- convenience and simplifying language bindings.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupBuffer.</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="full">
- <doc xml:space="preserve">data</doc>
- <array length="1" zero-terminated="0" c:type="guchar*">
- <type name="guint8" c:type="guchar"/>
- </array>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @data</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_with_owner"
- c:identifier="soup_buffer_new_with_owner">
- <doc xml:space="preserve">Creates a new #SoupBuffer containing @length bytes from @data. When
- the #SoupBuffer is freed, it will call @owner_dnotify, passing
- @owner to it. You must ensure that @data will remain valid until
- @owner_dnotify is called.
- For example, you could use this to create a buffer containing data
- returned from libxml without needing to do an extra copy:
- <informalexample><programlisting>
- xmlDocDumpMemory (doc, &xmlbody, &len);
- return soup_buffer_new_with_owner (xmlbody, len, xmlbody,
- (GDestroyNotify)xmlFree);
- </programlisting></informalexample>
- In this example, @data and @owner are the same, but in other cases
- they would be different (eg, @owner would be a object, and @data
- would be a pointer to one of the object's fields).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupBuffer.</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">data</doc>
- <array length="1" zero-terminated="0" c:type="gconstpointer">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @data</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- <parameter name="owner"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">pointer to an object that owns @data</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="owner_dnotify"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async">
- <doc xml:space="preserve">a function to free/unref @owner when
- the buffer is freed</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="copy" c:identifier="soup_buffer_copy">
- <doc xml:space="preserve">Makes a copy of @buffer. In reality, #SoupBuffer is a refcounted
- type, and calling soup_buffer_copy() will normally just increment
- the refcount on @buffer and return it. However, if @buffer was
- created with #SOUP_MEMORY_TEMPORARY memory, then soup_buffer_copy()
- will actually return a copy of it, so that the data in the copy
- will remain valid after the temporary buffer is freed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new (or newly-reffed) buffer</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </return-value>
- <parameters>
- <instance-parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupBuffer</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="soup_buffer_free">
- <doc xml:space="preserve">Frees @buffer. (In reality, as described in the documentation for
- soup_buffer_copy(), this is actually an "unref" operation, and may
- or may not actually free @buffer.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupBuffer</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_as_bytes"
- c:identifier="soup_buffer_get_as_bytes"
- version="2.40">
- <doc xml:space="preserve">Creates a #GBytes pointing to the same memory as @buffer. The
- #GBytes will hold a reference on @buffer to ensure that it is not
- freed while the #GBytes is still valid.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #GBytes which has the same content
- as the #SoupBuffer.</doc>
- <type name="GLib.Bytes" c:type="GBytes*"/>
- </return-value>
- <parameters>
- <instance-parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupBuffer</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_data"
- c:identifier="soup_buffer_get_data"
- version="2.32">
- <doc xml:space="preserve">This function exists for use by language bindings, because it's not
- currently possible to get the right effect by annotating the fields
- of #SoupBuffer.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupBuffer</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </instance-parameter>
- <parameter name="data"
- direction="out"
- caller-allocates="0"
- transfer-ownership="none">
- <doc xml:space="preserve">the pointer
- to the buffer data is stored here</doc>
- <array length="1" zero-terminated="0" c:type="guint8**">
- <type name="guint8" c:type="guint8*"/>
- </array>
- </parameter>
- <parameter name="length"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">the length of the buffer data is stored here</doc>
- <type name="gsize" c:type="gsize*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_owner" c:identifier="soup_buffer_get_owner">
- <doc xml:space="preserve">Gets the "owner" object for a buffer created with
- soup_buffer_new_with_owner().</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the owner pointer</doc>
- <type name="gpointer" c:type="gpointer"/>
- </return-value>
- <parameters>
- <instance-parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupBuffer created with soup_buffer_new_with_owner()</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="new_subbuffer" c:identifier="soup_buffer_new_subbuffer">
- <doc xml:space="preserve">Creates a new #SoupBuffer containing @length bytes "copied" from
- @parent starting at @offset. (Normally this will not actually copy
- any data, but will instead simply reference the same data as
- @parent does.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupBuffer.</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </return-value>
- <parameters>
- <instance-parameter name="parent" transfer-ownership="none">
- <doc xml:space="preserve">the parent #SoupBuffer</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </instance-parameter>
- <parameter name="offset" transfer-ownership="none">
- <doc xml:space="preserve">offset within @parent to start at</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">number of bytes to copy from @parent</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <glib:boxed glib:name="ByteArray"
- c:symbol-prefix="byte_array"
- glib:type-name="SoupByteArray"
- glib:get-type="soup_byte_array_get_type">
- </glib:boxed>
- <constant name="CACHE_H" value="1" c:type="SOUP_CACHE_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="CHAR_HTTP_CTL" value="16" c:type="SOUP_CHAR_HTTP_CTL">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="CHAR_HTTP_SEPARATOR"
- value="8"
- c:type="SOUP_CHAR_HTTP_SEPARATOR">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="CHAR_URI_GEN_DELIMS"
- value="2"
- c:type="SOUP_CHAR_URI_GEN_DELIMS">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="CHAR_URI_PERCENT_ENCODED"
- value="1"
- c:type="SOUP_CHAR_URI_PERCENT_ENCODED">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="CHAR_URI_SUB_DELIMS"
- value="4"
- c:type="SOUP_CHAR_URI_SUB_DELIMS">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="CONTENT_DECODER_H"
- value="1"
- c:type="SOUP_CONTENT_DECODER_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="CONTENT_SNIFFER_H"
- value="1"
- c:type="SOUP_CONTENT_SNIFFER_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="COOKIE_H" value="1" c:type="SOUP_COOKIE_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="COOKIE_JAR_ACCEPT_POLICY"
- value="accept-policy"
- c:type="SOUP_COOKIE_JAR_ACCEPT_POLICY"
- version="2.30">
- <doc xml:space="preserve">Alias for the #SoupCookieJar:accept-policy property.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="COOKIE_JAR_DB_FILENAME"
- value="filename"
- c:type="SOUP_COOKIE_JAR_DB_FILENAME">
- <doc xml:space="preserve">Alias for the #SoupCookieJarDB:filename property. (The
- cookie-storage filename.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="COOKIE_JAR_DB_H" value="1" c:type="SOUP_COOKIE_JAR_DB_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="COOKIE_JAR_H" value="1" c:type="SOUP_COOKIE_JAR_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="COOKIE_JAR_READ_ONLY"
- value="read-only"
- c:type="SOUP_COOKIE_JAR_READ_ONLY">
- <doc xml:space="preserve">Alias for the #SoupCookieJar:read-only property. (Whether
- or not the cookie jar is read-only.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="COOKIE_JAR_TEXT_FILENAME"
- value="filename"
- c:type="SOUP_COOKIE_JAR_TEXT_FILENAME">
- <doc xml:space="preserve">Alias for the #SoupCookieJarText:filename property. (The
- cookie-storage filename.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="COOKIE_JAR_TEXT_H"
- value="1"
- c:type="SOUP_COOKIE_JAR_TEXT_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="COOKIE_MAX_AGE_ONE_DAY"
- value="0"
- c:type="SOUP_COOKIE_MAX_AGE_ONE_DAY"
- version="2.24">
- <doc xml:space="preserve">A constant corresponding to 1 day, for use with soup_cookie_new()
- and soup_cookie_set_max_age().</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="COOKIE_MAX_AGE_ONE_HOUR"
- value="3600"
- c:type="SOUP_COOKIE_MAX_AGE_ONE_HOUR"
- version="2.24">
- <doc xml:space="preserve">A constant corresponding to 1 hour, for use with soup_cookie_new()
- and soup_cookie_set_max_age().</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="COOKIE_MAX_AGE_ONE_WEEK"
- value="0"
- c:type="SOUP_COOKIE_MAX_AGE_ONE_WEEK"
- version="2.24">
- <doc xml:space="preserve">A constant corresponding to 1 week, for use with soup_cookie_new()
- and soup_cookie_set_max_age().</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="COOKIE_MAX_AGE_ONE_YEAR"
- value="0"
- c:type="SOUP_COOKIE_MAX_AGE_ONE_YEAR"
- version="2.24">
- <doc xml:space="preserve">A constant corresponding to 1 year, for use with soup_cookie_new()
- and soup_cookie_set_max_age().</doc>
- <type name="gint" c:type="gint"/>
- </constant>
- <class name="Cache"
- c:symbol-prefix="cache"
- c:type="SoupCache"
- parent="GObject.Object"
- glib:type-name="SoupCache"
- glib:get-type="soup_cache_get_type"
- glib:type-struct="CacheClass">
- <implements name="SessionFeature"/>
- <constructor name="new" c:identifier="soup_cache_new" version="2.34">
- <doc xml:space="preserve">Creates a new #SoupCache.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupCache</doc>
- <type name="Cache" c:type="SoupCache*"/>
- </return-value>
- <parameters>
- <parameter name="cache_dir" transfer-ownership="none">
- <doc xml:space="preserve">the directory to store the cached data, or %NULL to use the default one</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="cache_type" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupCacheType of the cache</doc>
- <type name="CacheType" c:type="SoupCacheType"/>
- </parameter>
- </parameters>
- </constructor>
- <virtual-method name="get_cacheability">
- <return-value transfer-ownership="none">
- <type name="Cacheability" c:type="SoupCacheability"/>
- </return-value>
- <parameters>
- <instance-parameter name="cache" transfer-ownership="none">
- <type name="Cache" c:type="SoupCache*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="clear" c:identifier="soup_cache_clear" version="2.34">
- <doc xml:space="preserve">Will remove all entries in the @cache plus all the cache files.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cache" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCache</doc>
- <type name="Cache" c:type="SoupCache*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="dump" c:identifier="soup_cache_dump" version="2.34.">
- <doc xml:space="preserve">Synchronously writes the cache index out to disk. Contrast with
- soup_cache_flush(), which writes pending cache
- <emphasis>entries</emphasis> to disk.
- You must call this before exiting if you want your cache data to
- persist between sessions.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cache" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCache</doc>
- <type name="Cache" c:type="SoupCache*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="flush" c:identifier="soup_cache_flush" version="2.34">
- <doc xml:space="preserve">This function will force all pending writes in the @cache to be
- committed to disk. For doing so it will iterate the #GMainContext
- associated with @cache's session as long as needed.
- Contrast with soup_cache_dump(), which writes out the cache index
- file.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cache" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCache</doc>
- <type name="Cache" c:type="SoupCache*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_max_size"
- c:identifier="soup_cache_get_max_size"
- version="2.34">
- <doc xml:space="preserve">Gets the maximum size of the cache.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the maximum size of the cache, in bytes.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="cache" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCache</doc>
- <type name="Cache" c:type="SoupCache*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="load" c:identifier="soup_cache_load" version="2.34">
- <doc xml:space="preserve">Loads the contents of @cache's index into memory.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cache" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCache</doc>
- <type name="Cache" c:type="SoupCache*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="set_max_size"
- c:identifier="soup_cache_set_max_size"
- version="2.34">
- <doc xml:space="preserve">Sets the maximum size of the cache.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cache" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCache</doc>
- <type name="Cache" c:type="SoupCache*"/>
- </instance-parameter>
- <parameter name="max_size" transfer-ownership="none">
- <doc xml:space="preserve">the maximum size of the cache, in bytes</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <property name="cache-dir"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="cache-type"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="CacheType"/>
- </property>
- <field name="parent_instance">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="priv">
- <type name="CachePrivate" c:type="SoupCachePrivate*"/>
- </field>
- </class>
- <record name="CacheClass"
- c:type="SoupCacheClass"
- glib:is-gtype-struct-for="Cache">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="get_cacheability">
- <callback name="get_cacheability">
- <return-value transfer-ownership="none">
- <type name="Cacheability" c:type="SoupCacheability"/>
- </return-value>
- <parameters>
- <parameter name="cache" transfer-ownership="none">
- <type name="Cache" c:type="SoupCache*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <record name="CachePrivate" c:type="SoupCachePrivate" disguised="1">
- </record>
- <enumeration name="CacheResponse"
- glib:type-name="SoupCacheResponse"
- glib:get-type="soup_cache_response_get_type"
- c:type="SoupCacheResponse">
- <member name="fresh"
- value="0"
- c:identifier="SOUP_CACHE_RESPONSE_FRESH"
- glib:nick="fresh">
- </member>
- <member name="needs_validation"
- value="1"
- c:identifier="SOUP_CACHE_RESPONSE_NEEDS_VALIDATION"
- glib:nick="needs-validation">
- </member>
- <member name="stale"
- value="2"
- c:identifier="SOUP_CACHE_RESPONSE_STALE"
- glib:nick="stale">
- </member>
- </enumeration>
- <enumeration name="CacheType"
- version="2.34"
- glib:type-name="SoupCacheType"
- glib:get-type="soup_cache_type_get_type"
- c:type="SoupCacheType">
- <doc xml:space="preserve">The type of cache; this affects what kinds of responses will be
- saved.</doc>
- <member name="single_user"
- value="0"
- c:identifier="SOUP_CACHE_SINGLE_USER"
- glib:nick="single-user">
- <doc xml:space="preserve">a single-user cache</doc>
- </member>
- <member name="shared"
- value="1"
- c:identifier="SOUP_CACHE_SHARED"
- glib:nick="shared">
- <doc xml:space="preserve">a shared cache</doc>
- </member>
- </enumeration>
- <bitfield name="Cacheability"
- glib:type-name="SoupCacheability"
- glib:get-type="soup_cacheability_get_type"
- c:type="SoupCacheability">
- <member name="cacheable"
- value="1"
- c:identifier="SOUP_CACHE_CACHEABLE"
- glib:nick="cacheable">
- </member>
- <member name="uncacheable"
- value="2"
- c:identifier="SOUP_CACHE_UNCACHEABLE"
- glib:nick="uncacheable">
- </member>
- <member name="invalidates"
- value="4"
- c:identifier="SOUP_CACHE_INVALIDATES"
- glib:nick="invalidates">
- </member>
- <member name="validates"
- value="8"
- c:identifier="SOUP_CACHE_VALIDATES"
- glib:nick="validates">
- </member>
- </bitfield>
- <callback name="ChunkAllocator" c:type="SoupChunkAllocator" deprecated="1">
- <doc xml:space="preserve">The prototype for a chunk allocation callback. This should allocate
- a new #SoupBuffer and return it for the I/O layer to read message
- body data off the network into.
- If @max_len is non-0, it indicates the maximum number of bytes that
- could be read, based on what is known about the message size. Note
- that this might be a very large number, and you should not simply
- try to allocate that many bytes blindly. If @max_len is 0, that
- means that libsoup does not know how many bytes remain to be read,
- and the allocator should return a buffer of a size that it finds
- convenient.
- If the allocator returns %NULL, the message will be paused. It is
- up to the application to make sure that it gets unpaused when it
- becomes possible to allocate a new buffer.</doc>
- <doc-deprecated xml:space="preserve">Use #SoupRequest if you want to read into your
- own buffers.</doc-deprecated>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the new buffer (or %NULL)</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage the chunk is being allocated for</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="max_len" transfer-ownership="none">
- <doc xml:space="preserve">the maximum length that will be read, or 0.</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">the data passed to soup_message_set_chunk_allocator()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="ClientContext"
- c:type="SoupClientContext"
- glib:type-name="SoupClientContext"
- glib:get-type="soup_client_context_get_type"
- c:symbol-prefix="client_context">
- <doc xml:space="preserve">A #SoupClientContext provides additional information about the
- client making a particular request. In particular, you can use
- soup_client_context_get_auth_domain() and
- soup_client_context_get_auth_user() to determine if HTTP
- authentication was used successfully.
- soup_client_context_get_remote_address() and/or
- soup_client_context_get_host() can be used to get information for
- logging or debugging purposes. soup_client_context_get_gsocket() may
- also be of use in some situations (eg, tracking when multiple
- requests are made on the same connection).</doc>
- <method name="get_address"
- c:identifier="soup_client_context_get_address"
- deprecated="1">
- <doc xml:space="preserve">Retrieves the #SoupAddress associated with the remote end
- of a connection.</doc>
- <doc-deprecated xml:space="preserve">Use soup_client_context_get_remote_address(), which returns
- a #GSocketAddress.</doc-deprecated>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the #SoupAddress
- associated with the remote end of a connection, it may be
- %NULL if you used soup_server_accept_iostream().</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </return-value>
- <parameters>
- <instance-parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupClientContext</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_auth_domain"
- c:identifier="soup_client_context_get_auth_domain">
- <doc xml:space="preserve">Checks whether the request associated with @client has been
- authenticated, and if so returns the #SoupAuthDomain that
- authenticated it.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">a #SoupAuthDomain, or
- %NULL if the request was not authenticated.</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </return-value>
- <parameters>
- <instance-parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupClientContext</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_auth_user"
- c:identifier="soup_client_context_get_auth_user">
- <doc xml:space="preserve">Checks whether the request associated with @client has been
- authenticated, and if so returns the username that the client
- authenticated as.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the authenticated-as user, or %NULL if
- the request was not authenticated.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupClientContext</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_gsocket"
- c:identifier="soup_client_context_get_gsocket"
- version="2.48">
- <doc xml:space="preserve">Retrieves the #GSocket that @client is associated with.
- If you are using this method to observe when multiple requests are
- made on the same persistent HTTP connection (eg, as the ntlm-test
- test program does), you will need to pay attention to socket
- destruction as well (eg, by using weak references), so that you do
- not get fooled when the allocator reuses the memory address of a
- previously-destroyed socket to represent a new socket.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the #GSocket that @client is
- associated with, %NULL if you used soup_server_accept_iostream().</doc>
- <type name="Gio.Socket" c:type="GSocket*"/>
- </return-value>
- <parameters>
- <instance-parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupClientContext</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_host" c:identifier="soup_client_context_get_host">
- <doc xml:space="preserve">Retrieves the IP address associated with the remote end of a
- connection.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the IP address associated with the remote
- end of a connection, it may be %NULL if you used
- soup_server_accept_iostream().</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupClientContext</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_local_address"
- c:identifier="soup_client_context_get_local_address"
- version="2.48">
- <doc xml:space="preserve">Retrieves the #GSocketAddress associated with the local end
- of a connection.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the #GSocketAddress
- associated with the local end of a connection, it may be
- %NULL if you used soup_server_accept_iostream().</doc>
- <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
- </return-value>
- <parameters>
- <instance-parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupClientContext</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_remote_address"
- c:identifier="soup_client_context_get_remote_address"
- version="2.48">
- <doc xml:space="preserve">Retrieves the #GSocketAddress associated with the remote end
- of a connection.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the #GSocketAddress
- associated with the remote end of a connection, it may be
- %NULL if you used soup_server_accept_iostream().</doc>
- <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
- </return-value>
- <parameters>
- <instance-parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupClientContext</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_socket"
- c:identifier="soup_client_context_get_socket"
- deprecated="1">
- <doc xml:space="preserve">Retrieves the #SoupSocket that @client is associated with.
- If you are using this method to observe when multiple requests are
- made on the same persistent HTTP connection (eg, as the ntlm-test
- test program does), you will need to pay attention to socket
- destruction as well (either by using weak references, or by
- connecting to the #SoupSocket::disconnected signal), so that you do
- not get fooled when the allocator reuses the memory address of a
- previously-destroyed socket to represent a new socket.</doc>
- <doc-deprecated xml:space="preserve">use soup_client_context_get_gsocket(), which returns
- a #GSocket.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #SoupSocket that @client is
- associated with.</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </return-value>
- <parameters>
- <instance-parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupClientContext</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="steal_connection"
- c:identifier="soup_client_context_steal_connection"
- version="2.50">
- <doc xml:space="preserve">"Steals" the HTTP connection associated with @client from its
- #SoupServer. This happens immediately, regardless of the current
- state of the connection; if the response to the current
- #SoupMessage has not yet finished being sent, then it will be
- discarded; you can steal the connection from a
- #SoupMessage:wrote-informational or #SoupMessage:wrote-body signal
- handler if you need to wait for part or all of the response to be
- sent.
- Note that when calling this function from C, @client will most
- likely be freed as a side effect.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the #GIOStream formerly associated
- with @client (or %NULL if @client was no longer associated with a
- connection). No guarantees are made about what kind of #GIOStream
- is returned.</doc>
- <type name="Gio.IOStream" c:type="GIOStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupClientContext</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </instance-parameter>
- </parameters>
- </method>
- </record>
- <record name="Connection" c:type="SoupConnection" disguised="1">
- </record>
- <enumeration name="ConnectionState"
- glib:type-name="SoupConnectionState"
- glib:get-type="soup_connection_state_get_type"
- c:type="SoupConnectionState">
- <member name="new"
- value="0"
- c:identifier="SOUP_CONNECTION_NEW"
- glib:nick="new">
- </member>
- <member name="connecting"
- value="1"
- c:identifier="SOUP_CONNECTION_CONNECTING"
- glib:nick="connecting">
- </member>
- <member name="idle"
- value="2"
- c:identifier="SOUP_CONNECTION_IDLE"
- glib:nick="idle">
- </member>
- <member name="in_use"
- value="3"
- c:identifier="SOUP_CONNECTION_IN_USE"
- glib:nick="in-use">
- </member>
- <member name="remote_disconnected"
- value="4"
- c:identifier="SOUP_CONNECTION_REMOTE_DISCONNECTED"
- glib:nick="remote-disconnected">
- </member>
- <member name="disconnected"
- value="5"
- c:identifier="SOUP_CONNECTION_DISCONNECTED"
- glib:nick="disconnected">
- </member>
- </enumeration>
- <class name="ContentDecoder"
- c:symbol-prefix="content_decoder"
- c:type="SoupContentDecoder"
- parent="GObject.Object"
- glib:type-name="SoupContentDecoder"
- glib:get-type="soup_content_decoder_get_type"
- glib:type-struct="ContentDecoderClass">
- <implements name="SessionFeature"/>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="priv">
- <type name="ContentDecoderPrivate"
- c:type="SoupContentDecoderPrivate*"/>
- </field>
- </class>
- <record name="ContentDecoderClass"
- c:type="SoupContentDecoderClass"
- glib:is-gtype-struct-for="ContentDecoder">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved5" introspectable="0">
- <callback name="_libsoup_reserved5">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <record name="ContentDecoderPrivate"
- c:type="SoupContentDecoderPrivate"
- disguised="1">
- </record>
- <class name="ContentSniffer"
- c:symbol-prefix="content_sniffer"
- c:type="SoupContentSniffer"
- parent="GObject.Object"
- glib:type-name="SoupContentSniffer"
- glib:get-type="soup_content_sniffer_get_type"
- glib:type-struct="ContentSnifferClass">
- <implements name="SessionFeature"/>
- <constructor name="new"
- c:identifier="soup_content_sniffer_new"
- version="2.28">
- <doc xml:space="preserve">Creates a new #SoupContentSniffer.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupContentSniffer</doc>
- <type name="ContentSniffer" c:type="SoupContentSniffer*"/>
- </return-value>
- </constructor>
- <virtual-method name="get_buffer_size"
- invoker="get_buffer_size"
- version="2.28">
- <doc xml:space="preserve">Gets the number of bytes @sniffer needs in order to properly sniff
- a buffer.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the number of bytes to sniff</doc>
- <type name="gsize" c:type="gsize"/>
- </return-value>
- <parameters>
- <instance-parameter name="sniffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupContentSniffer</doc>
- <type name="ContentSniffer" c:type="SoupContentSniffer*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="sniff" invoker="sniff" version="2.28">
- <doc xml:space="preserve">Sniffs @buffer to determine its Content-Type. The result may also
- be influenced by the Content-Type declared in @msg's response
- headers.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the sniffed Content-Type of @buffer; this will never be %NULL,
- but may be "application/octet-stream".</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="sniffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupContentSniffer</doc>
- <type name="ContentSniffer" c:type="SoupContentSniffer*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to sniff</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">a buffer containing the start of @msg's response body</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- <parameter name="params"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">return
- location for Content-Type parameters (eg, "charset"), or %NULL</doc>
- <type name="GLib.HashTable" c:type="GHashTable**">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_buffer_size"
- c:identifier="soup_content_sniffer_get_buffer_size"
- version="2.28">
- <doc xml:space="preserve">Gets the number of bytes @sniffer needs in order to properly sniff
- a buffer.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the number of bytes to sniff</doc>
- <type name="gsize" c:type="gsize"/>
- </return-value>
- <parameters>
- <instance-parameter name="sniffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupContentSniffer</doc>
- <type name="ContentSniffer" c:type="SoupContentSniffer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="sniff"
- c:identifier="soup_content_sniffer_sniff"
- version="2.28">
- <doc xml:space="preserve">Sniffs @buffer to determine its Content-Type. The result may also
- be influenced by the Content-Type declared in @msg's response
- headers.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the sniffed Content-Type of @buffer; this will never be %NULL,
- but may be "application/octet-stream".</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="sniffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupContentSniffer</doc>
- <type name="ContentSniffer" c:type="SoupContentSniffer*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to sniff</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">a buffer containing the start of @msg's response body</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- <parameter name="params"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">return
- location for Content-Type parameters (eg, "charset"), or %NULL</doc>
- <type name="GLib.HashTable" c:type="GHashTable**">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </method>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="priv">
- <type name="ContentSnifferPrivate"
- c:type="SoupContentSnifferPrivate*"/>
- </field>
- </class>
- <record name="ContentSnifferClass"
- c:type="SoupContentSnifferClass"
- glib:is-gtype-struct-for="ContentSniffer">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="sniff">
- <callback name="sniff">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the sniffed Content-Type of @buffer; this will never be %NULL,
- but may be "application/octet-stream".</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="sniffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupContentSniffer</doc>
- <type name="ContentSniffer" c:type="SoupContentSniffer*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to sniff</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">a buffer containing the start of @msg's response body</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- <parameter name="params"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">return
- location for Content-Type parameters (eg, "charset"), or %NULL</doc>
- <type name="GLib.HashTable" c:type="GHashTable**">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_buffer_size">
- <callback name="get_buffer_size">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the number of bytes to sniff</doc>
- <type name="gsize" c:type="gsize"/>
- </return-value>
- <parameters>
- <parameter name="sniffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupContentSniffer</doc>
- <type name="ContentSniffer" c:type="SoupContentSniffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved5" introspectable="0">
- <callback name="_libsoup_reserved5">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <record name="ContentSnifferPrivate"
- c:type="SoupContentSnifferPrivate"
- disguised="1">
- </record>
- <record name="Cookie"
- c:type="SoupCookie"
- version="2.24"
- glib:type-name="SoupCookie"
- glib:get-type="soup_cookie_get_type"
- c:symbol-prefix="cookie">
- <doc xml:space="preserve">An HTTP cookie.
- @name and @value will be set for all cookies. If the cookie is
- generated from a string that appears to have no name, then @name
- will be the empty string.
- @domain and @path give the host or domain, and path within that
- host/domain, to restrict this cookie to. If @domain starts with
- ".", that indicates a domain (which matches the string after the
- ".", or any hostname that has @domain as a suffix). Otherwise, it
- is a hostname and must match exactly.
- @expires will be non-%NULL if the cookie uses either the original
- "expires" attribute, or the newer "max-age" attribute. If @expires
- is %NULL, it indicates that neither "expires" nor "max-age" was
- specified, and the cookie expires at the end of the session.
- If @http_only is set, the cookie should not be exposed to untrusted
- code (eg, javascript), so as to minimize the danger posed by
- cross-site scripting attacks.</doc>
- <field name="name" writable="1">
- <doc xml:space="preserve">the cookie name</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="value" writable="1">
- <doc xml:space="preserve">the cookie value</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="domain" writable="1">
- <doc xml:space="preserve">the "domain" attribute, or else the hostname that the
- cookie came from.</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="path" writable="1">
- <doc xml:space="preserve">the "path" attribute, or %NULL</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="expires" writable="1">
- <doc xml:space="preserve">the cookie expiration time, or %NULL for a session cookie</doc>
- <type name="Date" c:type="SoupDate*"/>
- </field>
- <field name="secure" writable="1">
- <doc xml:space="preserve">%TRUE if the cookie should only be tranferred over SSL</doc>
- <type name="gboolean" c:type="gboolean"/>
- </field>
- <field name="http_only" writable="1">
- <doc xml:space="preserve">%TRUE if the cookie should not be exposed to scripts</doc>
- <type name="gboolean" c:type="gboolean"/>
- </field>
- <constructor name="new" c:identifier="soup_cookie_new" version="2.24">
- <doc xml:space="preserve">Creates a new #SoupCookie with the given attributes. (Use
- soup_cookie_set_secure() and soup_cookie_set_http_only() if you
- need to set those attributes on the returned cookie.)
- If @domain starts with ".", that indicates a domain (which matches
- the string after the ".", or any hostname that has @domain as a
- suffix). Otherwise, it is a hostname and must match exactly.
- @max_age is used to set the "expires" attribute on the cookie; pass
- -1 to not include the attribute (indicating that the cookie expires
- with the current session), 0 for an already-expired cookie, or a
- lifetime in seconds. You can use the constants
- %SOUP_COOKIE_MAX_AGE_ONE_HOUR, %SOUP_COOKIE_MAX_AGE_ONE_DAY,
- %SOUP_COOKIE_MAX_AGE_ONE_WEEK and %SOUP_COOKIE_MAX_AGE_ONE_YEAR (or
- multiples thereof) to calculate this value. (If you really care
- about setting the exact time that the cookie will expire, use
- soup_cookie_set_expires().)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupCookie.</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">cookie name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">cookie value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">cookie domain or hostname</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="path" transfer-ownership="none">
- <doc xml:space="preserve">cookie path, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="max_age" transfer-ownership="none">
- <doc xml:space="preserve">max age of the cookie, or -1 for a session cookie</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="applies_to_uri"
- c:identifier="soup_cookie_applies_to_uri"
- version="2.24">
- <doc xml:space="preserve">Tests if @cookie should be sent to @uri.
- (At the moment, this does not check that @cookie's domain matches
- @uri, because it assumes that the caller has already done that.
- But don't rely on that; it may change in the future.)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @cookie should be sent to @uri, %FALSE if
- not</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </method>
- <method name="copy" c:identifier="soup_cookie_copy" version="2.24">
- <doc xml:space="preserve">Copies @cookie.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a copy of @cookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="domain_matches"
- c:identifier="soup_cookie_domain_matches"
- version="2.30">
- <doc xml:space="preserve">Checks if the @cookie's domain and @host match in the sense that
- @cookie should be sent when making a request to @host, or that
- @cookie should be accepted when receiving a response from @host.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the domains match, %FALSE otherwise</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="host" transfer-ownership="none">
- <doc xml:space="preserve">a URI</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="equal" c:identifier="soup_cookie_equal" version="2.24">
- <doc xml:space="preserve">Tests if @cookie1 and @cookie2 are equal.
- Note that currently, this does not check that the cookie domains
- match. This may change in the future.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether the cookies are equal.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie1" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="cookie2" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="soup_cookie_free" version="2.24">
- <doc xml:space="preserve">Frees @cookie</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_domain"
- c:identifier="soup_cookie_get_domain"
- version="2.32">
- <doc xml:space="preserve">Gets @cookie's domain</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@cookie's domain</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_expires"
- c:identifier="soup_cookie_get_expires"
- version="2.32">
- <doc xml:space="preserve">Gets @cookie's expiration time</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@cookie's expiration time, which is
- owned by @cookie and should not be modified or freed.</doc>
- <type name="Date" c:type="SoupDate*"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_http_only"
- c:identifier="soup_cookie_get_http_only"
- version="2.32">
- <doc xml:space="preserve">Gets @cookie's HttpOnly attribute</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@cookie's HttpOnly attribute</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_name"
- c:identifier="soup_cookie_get_name"
- version="2.32">
- <doc xml:space="preserve">Gets @cookie's name</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@cookie's name</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_path"
- c:identifier="soup_cookie_get_path"
- version="2.32">
- <doc xml:space="preserve">Gets @cookie's path</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@cookie's path</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_secure"
- c:identifier="soup_cookie_get_secure"
- version="2.32">
- <doc xml:space="preserve">Gets @cookie's secure attribute</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@cookie's secure attribute</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_value"
- c:identifier="soup_cookie_get_value"
- version="2.32">
- <doc xml:space="preserve">Gets @cookie's value</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@cookie's value</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="set_domain"
- c:identifier="soup_cookie_set_domain"
- version="2.24">
- <doc xml:space="preserve">Sets @cookie's domain to @domain</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">the new domain</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_expires"
- c:identifier="soup_cookie_set_expires"
- version="2.24">
- <doc xml:space="preserve">Sets @cookie's expiration time to @expires. If @expires is %NULL,
- @cookie will be a session cookie and will expire at the end of the
- client's session.
- (This sets the same property as soup_cookie_set_max_age().)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="expires" transfer-ownership="none">
- <doc xml:space="preserve">the new expiration time, or %NULL</doc>
- <type name="Date" c:type="SoupDate*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_http_only"
- c:identifier="soup_cookie_set_http_only"
- version="2.24">
- <doc xml:space="preserve">Sets @cookie's HttpOnly attribute to @http_only. If %TRUE, @cookie
- will be marked as "http only", meaning it should not be exposed to
- web page scripts or other untrusted code.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="http_only" transfer-ownership="none">
- <doc xml:space="preserve">the new value for the HttpOnly attribute</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_max_age"
- c:identifier="soup_cookie_set_max_age"
- version="2.24">
- <doc xml:space="preserve">Sets @cookie's max age to @max_age. If @max_age is -1, the cookie
- is a session cookie, and will expire at the end of the client's
- session. Otherwise, it is the number of seconds until the cookie
- expires. You can use the constants %SOUP_COOKIE_MAX_AGE_ONE_HOUR,
- %SOUP_COOKIE_MAX_AGE_ONE_DAY, %SOUP_COOKIE_MAX_AGE_ONE_WEEK and
- %SOUP_COOKIE_MAX_AGE_ONE_YEAR (or multiples thereof) to calculate
- this value. (A value of 0 indicates that the cookie should be
- considered already-expired.)
- (This sets the same property as soup_cookie_set_expires().)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="max_age" transfer-ownership="none">
- <doc xml:space="preserve">the new max age</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_name"
- c:identifier="soup_cookie_set_name"
- version="2.24">
- <doc xml:space="preserve">Sets @cookie's name to @name</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the new name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_path"
- c:identifier="soup_cookie_set_path"
- version="2.24">
- <doc xml:space="preserve">Sets @cookie's path to @path</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="path" transfer-ownership="none">
- <doc xml:space="preserve">the new path</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_secure"
- c:identifier="soup_cookie_set_secure"
- version="2.24">
- <doc xml:space="preserve">Sets @cookie's secure attribute to @secure. If %TRUE, @cookie will
- only be transmitted from the client to the server over secure
- (https) connections.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="secure" transfer-ownership="none">
- <doc xml:space="preserve">the new value for the secure attribute</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_value"
- c:identifier="soup_cookie_set_value"
- version="2.24">
- <doc xml:space="preserve">Sets @cookie's value to @value</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the new value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_cookie_header"
- c:identifier="soup_cookie_to_cookie_header"
- version="2.24">
- <doc xml:space="preserve">Serializes @cookie in the format used by the Cookie header (ie, for
- returning a cookie from a #SoupSession to a server).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the header</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="to_set_cookie_header"
- c:identifier="soup_cookie_to_set_cookie_header"
- version="2.24">
- <doc xml:space="preserve">Serializes @cookie in the format used by the Set-Cookie header
- (ie, for sending a cookie from a #SoupServer to a client).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the header</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </instance-parameter>
- </parameters>
- </method>
- <function name="parse" c:identifier="soup_cookie_parse" version="2.24">
- <doc xml:space="preserve">Parses @header and returns a #SoupCookie. (If @header contains
- multiple cookies, only the first one will be parsed.)
- If @header does not have "path" or "domain" attributes, they will
- be defaulted from @origin. If @origin is %NULL, path will default
- to "/", but domain will be left as %NULL. Note that this is not a
- valid state for a #SoupCookie, and you will need to fill in some
- appropriate string for the domain if you want to actually make use
- of the cookie.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a new #SoupCookie, or %NULL if it could
- not be parsed, or contained an illegal "domain" attribute for a
- cookie originating from @origin.</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </return-value>
- <parameters>
- <parameter name="header" transfer-ownership="none">
- <doc xml:space="preserve">a cookie string (eg, the value of a Set-Cookie header)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="origin" transfer-ownership="none">
- <doc xml:space="preserve">origin of the cookie, or %NULL</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <class name="CookieJar"
- c:symbol-prefix="cookie_jar"
- c:type="SoupCookieJar"
- parent="GObject.Object"
- glib:type-name="SoupCookieJar"
- glib:get-type="soup_cookie_jar_get_type"
- glib:type-struct="CookieJarClass">
- <implements name="SessionFeature"/>
- <constructor name="new"
- c:identifier="soup_cookie_jar_new"
- version="2.24">
- <doc xml:space="preserve">Creates a new #SoupCookieJar. The base #SoupCookieJar class does
- not support persistent storage of cookies; use a subclass for that.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </return-value>
- </constructor>
- <virtual-method name="changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- <parameter name="old_cookie" transfer-ownership="none">
- <type name="Cookie" c:type="SoupCookie*"/>
- </parameter>
- <parameter name="new_cookie" transfer-ownership="none">
- <type name="Cookie" c:type="SoupCookie*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="is_persistent"
- invoker="is_persistent"
- version="2.40">
- <doc xml:space="preserve">Gets whether @jar stores cookies persistenly.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @jar storage is persistent or %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="save" invoker="save" version="2.24" deprecated="1">
- <doc xml:space="preserve">This function exists for backward compatibility, but does not do
- anything any more; cookie jars are saved automatically when they
- are changed.</doc>
- <doc-deprecated xml:space="preserve">This is a no-op.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <method name="add_cookie"
- c:identifier="soup_cookie_jar_add_cookie"
- version="2.26">
- <doc xml:space="preserve">Adds @cookie to @jar, emitting the 'changed' signal if we are modifying
- an existing cookie or adding a valid new cookie ('valid' means
- that the cookie's expire date is not in the past).
- @cookie will be 'stolen' by the jar, so don't free it afterwards.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- <parameter name="cookie" transfer-ownership="full">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_cookie_with_first_party"
- c:identifier="soup_cookie_jar_add_cookie_with_first_party"
- version="2.40">
- <doc xml:space="preserve">Adds @cookie to @jar, emitting the 'changed' signal if we are modifying
- an existing cookie or adding a valid new cookie ('valid' means
- that the cookie's expire date is not in the past).
- @first_party will be used to reject cookies coming from third party
- resources in case such a security policy is set in the @jar.
- @cookie will be 'stolen' by the jar, so don't free it afterwards.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- <parameter name="first_party" transfer-ownership="none">
- <doc xml:space="preserve">the URI for the main document</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="cookie" transfer-ownership="full">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </parameter>
- </parameters>
- </method>
- <method name="all_cookies"
- c:identifier="soup_cookie_jar_all_cookies"
- version="2.26">
- <doc xml:space="preserve">Constructs a #GSList with every cookie inside the @jar.
- The cookies in the list are a copy of the original, so
- you have to free them when you are done with them.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSList
- with all the cookies in the @jar.</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Cookie"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="delete_cookie"
- c:identifier="soup_cookie_jar_delete_cookie"
- version="2.26">
- <doc xml:space="preserve">Deletes @cookie from @jar, emitting the 'changed' signal.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- <parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookie</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_accept_policy"
- c:identifier="soup_cookie_jar_get_accept_policy"
- version="2.30">
- <doc xml:space="preserve">Gets @jar's #SoupCookieJarAcceptPolicy</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #SoupCookieJarAcceptPolicy set in the @jar</doc>
- <type name="CookieJarAcceptPolicy"
- c:type="SoupCookieJarAcceptPolicy"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_cookie_list"
- c:identifier="soup_cookie_jar_get_cookie_list"
- version="2.40">
- <doc xml:space="preserve">Retrieves the list of cookies that would be sent with a request to @uri
- as a #GSList of #SoupCookie objects.
- If @for_http is %TRUE, the return value will include cookies marked
- "HttpOnly" (that is, cookies that the server wishes to keep hidden
- from client-side scripting operations such as the JavaScript
- document.cookies property). Since #SoupCookieJar sets the Cookie
- header itself when making the actual HTTP request, you should
- almost certainly be setting @for_http to %FALSE if you are calling
- this.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSList
- with the cookies in the @jar that would be sent with a request to @uri.</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Cookie"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="for_http" transfer-ownership="none">
- <doc xml:space="preserve">whether or not the return value is being passed directly
- to an HTTP operation</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_cookies"
- c:identifier="soup_cookie_jar_get_cookies"
- version="2.24">
- <doc xml:space="preserve">Retrieves (in Cookie-header form) the list of cookies that would
- be sent with a request to @uri.
- If @for_http is %TRUE, the return value will include cookies marked
- "HttpOnly" (that is, cookies that the server wishes to keep hidden
- from client-side scripting operations such as the JavaScript
- document.cookies property). Since #SoupCookieJar sets the Cookie
- header itself when making the actual HTTP request, you should
- almost certainly be setting @for_http to %FALSE if you are calling
- this.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the cookies, in string form, or %NULL if
- there are no cookies for @uri.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="for_http" transfer-ownership="none">
- <doc xml:space="preserve">whether or not the return value is being passed directly
- to an HTTP operation</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="is_persistent"
- c:identifier="soup_cookie_jar_is_persistent"
- version="2.40">
- <doc xml:space="preserve">Gets whether @jar stores cookies persistenly.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @jar storage is persistent or %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="save"
- c:identifier="soup_cookie_jar_save"
- version="2.24"
- deprecated="1">
- <doc xml:space="preserve">This function exists for backward compatibility, but does not do
- anything any more; cookie jars are saved automatically when they
- are changed.</doc>
- <doc-deprecated xml:space="preserve">This is a no-op.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="set_accept_policy"
- c:identifier="soup_cookie_jar_set_accept_policy"
- version="2.30">
- <doc xml:space="preserve">Sets @policy as the cookie acceptance policy for @jar.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- <parameter name="policy" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJarAcceptPolicy</doc>
- <type name="CookieJarAcceptPolicy"
- c:type="SoupCookieJarAcceptPolicy"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_cookie"
- c:identifier="soup_cookie_jar_set_cookie"
- version="2.24">
- <doc xml:space="preserve">Adds @cookie to @jar, exactly as though it had appeared in a
- Set-Cookie header returned from a request to @uri.
- Keep in mind that if the #SoupCookieJarAcceptPolicy
- %SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY is set you'll need to use
- soup_cookie_jar_set_cookie_with_first_party(), otherwise the jar
- will have no way of knowing if the cookie is being set by a third
- party or not.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI setting the cookie</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">the stringified cookie to set</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_cookie_with_first_party"
- c:identifier="soup_cookie_jar_set_cookie_with_first_party"
- version="2.30">
- <doc xml:space="preserve">Adds @cookie to @jar, exactly as though it had appeared in a
- Set-Cookie header returned from a request to @uri. @first_party
- will be used to reject cookies coming from third party resources in
- case such a security policy is set in the @jar.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI setting the cookie</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="first_party" transfer-ownership="none">
- <doc xml:space="preserve">the URI for the main document</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="cookie" transfer-ownership="none">
- <doc xml:space="preserve">the stringified cookie to set</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <property name="accept-policy"
- version="2.30"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The policy the jar should follow to accept or reject cookies</doc>
- <type name="CookieJarAcceptPolicy"/>
- </property>
- <property name="read-only"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <glib:signal name="changed" when="first">
- <doc xml:space="preserve">Emitted when @jar changes. If a cookie has been added,
- @new_cookie will contain the newly-added cookie and
- @old_cookie will be %NULL. If a cookie has been deleted,
- @old_cookie will contain the to-be-deleted cookie and
- @new_cookie will be %NULL. If a cookie has been changed,
- @old_cookie will contain its old value, and @new_cookie its
- new value.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="old_cookie" transfer-ownership="none">
- <doc xml:space="preserve">the old #SoupCookie value</doc>
- <type name="Cookie"/>
- </parameter>
- <parameter name="new_cookie" transfer-ownership="none">
- <doc xml:space="preserve">the new #SoupCookie value</doc>
- <type name="Cookie"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <enumeration name="CookieJarAcceptPolicy"
- version="2.30"
- glib:type-name="SoupCookieJarAcceptPolicy"
- glib:get-type="soup_cookie_jar_accept_policy_get_type"
- c:type="SoupCookieJarAcceptPolicy">
- <doc xml:space="preserve">The policy for accepting or rejecting cookies returned in
- responses.</doc>
- <member name="always"
- value="0"
- c:identifier="SOUP_COOKIE_JAR_ACCEPT_ALWAYS"
- glib:nick="always">
- <doc xml:space="preserve">accept all cookies unconditionally.</doc>
- </member>
- <member name="never"
- value="1"
- c:identifier="SOUP_COOKIE_JAR_ACCEPT_NEVER"
- glib:nick="never">
- <doc xml:space="preserve">reject all cookies unconditionally.</doc>
- </member>
- <member name="no_third_party"
- value="2"
- c:identifier="SOUP_COOKIE_JAR_ACCEPT_NO_THIRD_PARTY"
- glib:nick="no-third-party">
- <doc xml:space="preserve">accept all cookies set by
- the main document loaded in the application using libsoup. An
- example of the most common case, web browsers, would be: If
- http://www.example.com is the page loaded, accept all cookies set
- by example.com, but if a resource from http://www.third-party.com
- is loaded from that page reject any cookie that it could try to
- set. For libsoup to be able to tell apart first party cookies from
- the rest, the application must call soup_message_set_first_party()
- on each outgoing #SoupMessage, setting the #SoupURI of the main
- document. If no first party is set in a message when this policy is
- in effect, cookies will be assumed to be third party by default.</doc>
- </member>
- </enumeration>
- <record name="CookieJarClass"
- c:type="SoupCookieJarClass"
- glib:is-gtype-struct-for="CookieJar">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="save">
- <callback name="save">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="is_persistent">
- <callback name="is_persistent">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @jar storage is persistent or %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="jar" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="changed">
- <callback name="changed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="jar" transfer-ownership="none">
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </parameter>
- <parameter name="old_cookie" transfer-ownership="none">
- <type name="Cookie" c:type="SoupCookie*"/>
- </parameter>
- <parameter name="new_cookie" transfer-ownership="none">
- <type name="Cookie" c:type="SoupCookie*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <class name="CookieJarDB"
- c:symbol-prefix="cookie_jar_db"
- c:type="SoupCookieJarDB"
- parent="CookieJar"
- glib:type-name="SoupCookieJarDB"
- glib:get-type="soup_cookie_jar_db_get_type"
- glib:type-struct="CookieJarDBClass">
- <implements name="SessionFeature"/>
- <constructor name="new"
- c:identifier="soup_cookie_jar_db_new"
- version="2.42">
- <doc xml:space="preserve">Creates a #SoupCookieJarDB.
- @filename will be read in at startup to create an initial set of
- cookies. If @read_only is %FALSE, then the non-session cookies will
- be written to @filename when the 'changed' signal is emitted from
- the jar. (If @read_only is %TRUE, then the cookie jar will only be
- used for this session, and changes made to it will be lost when the
- jar is destroyed.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </return-value>
- <parameters>
- <parameter name="filename" transfer-ownership="none">
- <doc xml:space="preserve">the filename to read to/write from, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="read_only" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @filename is read-only</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <property name="filename"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <field name="parent">
- <type name="CookieJar" c:type="SoupCookieJar"/>
- </field>
- </class>
- <record name="CookieJarDBClass"
- c:type="SoupCookieJarDBClass"
- glib:is-gtype-struct-for="CookieJarDB">
- <field name="parent_class">
- <type name="CookieJarClass" c:type="SoupCookieJarClass"/>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <class name="CookieJarText"
- c:symbol-prefix="cookie_jar_text"
- c:type="SoupCookieJarText"
- parent="CookieJar"
- glib:type-name="SoupCookieJarText"
- glib:get-type="soup_cookie_jar_text_get_type"
- glib:type-struct="CookieJarTextClass">
- <implements name="SessionFeature"/>
- <constructor name="new"
- c:identifier="soup_cookie_jar_text_new"
- version="2.26">
- <doc xml:space="preserve">Creates a #SoupCookieJarText.
- @filename will be read in at startup to create an initial set of
- cookies. If @read_only is %FALSE, then the non-session cookies will
- be written to @filename when the 'changed' signal is emitted from
- the jar. (If @read_only is %TRUE, then the cookie jar will only be
- used for this session, and changes made to it will be lost when the
- jar is destroyed.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupCookieJar</doc>
- <type name="CookieJar" c:type="SoupCookieJar*"/>
- </return-value>
- <parameters>
- <parameter name="filename" transfer-ownership="none">
- <doc xml:space="preserve">the filename to read to/write from</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="read_only" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @filename is read-only</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </constructor>
- <property name="filename"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <field name="parent">
- <type name="CookieJar" c:type="SoupCookieJar"/>
- </field>
- </class>
- <record name="CookieJarTextClass"
- c:type="SoupCookieJarTextClass"
- glib:is-gtype-struct-for="CookieJarText">
- <field name="parent_class">
- <type name="CookieJarClass" c:type="SoupCookieJarClass"/>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <constant name="DATE_H" value="1" c:type="SOUP_DATE_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <record name="Date"
- c:type="SoupDate"
- glib:type-name="SoupDate"
- glib:get-type="soup_date_get_type"
- c:symbol-prefix="date">
- <doc xml:space="preserve">A date and time. The date is assumed to be in the (proleptic)
- Gregorian calendar. The time is in UTC if @utc is %TRUE. Otherwise,
- the time is a local time, and @offset gives the offset from UTC in
- minutes (such that adding @offset to the time would give the
- correct UTC time). If @utc is %FALSE and @offset is 0, then the
- %SoupDate represents a "floating" time with no associated timezone
- information.</doc>
- <field name="year" writable="1">
- <doc xml:space="preserve">the year, 1 to 9999</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="month" writable="1">
- <doc xml:space="preserve">the month, 1 to 12</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="day" writable="1">
- <doc xml:space="preserve">day of the month, 1 to 31</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="hour" writable="1">
- <doc xml:space="preserve">hour of the day, 0 to 23</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="minute" writable="1">
- <doc xml:space="preserve">minute, 0 to 59</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="second" writable="1">
- <doc xml:space="preserve">second, 0 to 59 (or up to 61 in the case of leap seconds)</doc>
- <type name="gint" c:type="int"/>
- </field>
- <field name="utc" writable="1">
- <doc xml:space="preserve">%TRUE if the date is in UTC</doc>
- <type name="gboolean" c:type="gboolean"/>
- </field>
- <field name="offset" writable="1">
- <doc xml:space="preserve">offset from UTC</doc>
- <type name="gint" c:type="int"/>
- </field>
- <constructor name="new" c:identifier="soup_date_new">
- <doc xml:space="preserve">Creates a #SoupDate representing the indicated time, UTC.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </return-value>
- <parameters>
- <parameter name="year" transfer-ownership="none">
- <doc xml:space="preserve">the year (1-9999)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="month" transfer-ownership="none">
- <doc xml:space="preserve">the month (1-12)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="day" transfer-ownership="none">
- <doc xml:space="preserve">the day of the month (1-31, as appropriate for @month)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="hour" transfer-ownership="none">
- <doc xml:space="preserve">the hour (0-23)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="minute" transfer-ownership="none">
- <doc xml:space="preserve">the minute (0-59)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="second" transfer-ownership="none">
- <doc xml:space="preserve">the second (0-59, or up to 61 for leap seconds)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_now" c:identifier="soup_date_new_from_now">
- <doc xml:space="preserve">Creates a #SoupDate representing a time @offset_seconds after the
- current time (or before it, if @offset_seconds is negative). If
- offset_seconds is 0, returns the current time.
- If @offset_seconds would indicate a time not expressible as a
- <type>time_t</type>, the return value will be clamped into range.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </return-value>
- <parameters>
- <parameter name="offset_seconds" transfer-ownership="none">
- <doc xml:space="preserve">offset from current time</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_string"
- c:identifier="soup_date_new_from_string">
- <doc xml:space="preserve">Parses @date_string and tries to extract a date from it. This
- recognizes all of the "HTTP-date" formats from RFC 2616, all ISO
- 8601 formats containing both a time and a date, RFC 2822 dates,
- and reasonable approximations thereof. (Eg, it is lenient about
- whitespace, leading "0"s, etc.)</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a new #SoupDate, or %NULL if @date_string
- could not be parsed.</doc>
- <type name="Date" c:type="SoupDate*"/>
- </return-value>
- <parameters>
- <parameter name="date_string" transfer-ownership="none">
- <doc xml:space="preserve">the date in some plausible format</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_time_t"
- c:identifier="soup_date_new_from_time_t">
- <doc xml:space="preserve">Creates a #SoupDate corresponding to @when</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </return-value>
- <parameters>
- <parameter name="when" transfer-ownership="none">
- <doc xml:space="preserve">a <type>time_t</type></doc>
- <type name="glong" c:type="time_t"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="copy" c:identifier="soup_date_copy" version="2.24">
- <doc xml:space="preserve">Copies @date.</doc>
- <return-value transfer-ownership="full">
- <type name="Date" c:type="SoupDate*"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="soup_date_free" version="2.24">
- <doc xml:space="preserve">Frees @date.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_day" c:identifier="soup_date_get_day" version="2.32">
- <doc xml:space="preserve">Gets @date's day.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@date's day</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_hour" c:identifier="soup_date_get_hour" version="2.32">
- <doc xml:space="preserve">Gets @date's hour.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@date's hour</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_minute"
- c:identifier="soup_date_get_minute"
- version="2.32">
- <doc xml:space="preserve">Gets @date's minute.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@date's minute</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_month"
- c:identifier="soup_date_get_month"
- version="2.32">
- <doc xml:space="preserve">Gets @date's month.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@date's month</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_offset"
- c:identifier="soup_date_get_offset"
- version="2.32">
- <doc xml:space="preserve">Gets @date's offset from UTC.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@date's offset from UTC. If soup_date_get_utc()
- returns %FALSE but soup_date_get_offset() returns 0, that means the
- date is a "floating" time with no associated offset information.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_second"
- c:identifier="soup_date_get_second"
- version="2.32">
- <doc xml:space="preserve">Gets @date's second.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@date's second</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_utc" c:identifier="soup_date_get_utc" version="2.32">
- <doc xml:space="preserve">Gets @date's UTC flag</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @date is UTC.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_year" c:identifier="soup_date_get_year" version="2.32">
- <doc xml:space="preserve">Gets @date's year.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@date's year</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_past" c:identifier="soup_date_is_past" version="2.24">
- <doc xml:space="preserve">Determines if @date is in the past.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @date is in the past</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="to_string" c:identifier="soup_date_to_string">
- <doc xml:space="preserve">Converts @date to a string in the format described by @format.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">@date as a string</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- <parameter name="format" transfer-ownership="none">
- <doc xml:space="preserve">the format to generate the date in</doc>
- <type name="DateFormat" c:type="SoupDateFormat"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_time_t" c:identifier="soup_date_to_time_t">
- <doc xml:space="preserve">Converts @date to a <type>time_t</type>.
- If @date is not representable as a <type>time_t</type>, it will be
- clamped into range. (In particular, some HTTP cookies have
- expiration dates after "Y2.038k" (2038-01-19T03:14:07Z).)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@date as a <type>time_t</type></doc>
- <type name="glong" c:type="time_t"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="to_timeval"
- c:identifier="soup_date_to_timeval"
- version="2.24">
- <doc xml:space="preserve">Converts @date to a #GTimeVal.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </instance-parameter>
- <parameter name="time"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a #GTimeVal structure in which to store the converted time.</doc>
- <type name="GLib.TimeVal" c:type="GTimeVal*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <enumeration name="DateFormat"
- glib:type-name="SoupDateFormat"
- glib:get-type="soup_date_format_get_type"
- c:type="SoupDateFormat">
- <doc xml:space="preserve">Date formats that soup_date_to_string() can use.
- @SOUP_DATE_HTTP and @SOUP_DATE_COOKIE always coerce the time to
- UTC. @SOUP_DATE_ISO8601_XMLRPC uses the time as given, ignoring the
- offset completely. @SOUP_DATE_RFC2822 and the other ISO 8601
- variants use the local time, appending the offset information if
- available.
- This enum may be extended with more values in future releases.</doc>
- <member name="http"
- value="1"
- c:identifier="SOUP_DATE_HTTP"
- glib:nick="http">
- <doc xml:space="preserve">RFC 1123 format, used by the HTTP "Date" header. Eg
- "Sun, 06 Nov 1994 08:49:37 GMT"</doc>
- </member>
- <member name="cookie"
- value="2"
- c:identifier="SOUP_DATE_COOKIE"
- glib:nick="cookie">
- <doc xml:space="preserve">The format for the "Expires" timestamp in the
- Netscape cookie specification. Eg, "Sun, 06-Nov-1994 08:49:37 GMT".</doc>
- </member>
- <member name="rfc2822"
- value="3"
- c:identifier="SOUP_DATE_RFC2822"
- glib:nick="rfc2822">
- <doc xml:space="preserve">RFC 2822 format, eg "Sun, 6 Nov 1994 09:49:37 -0100"</doc>
- </member>
- <member name="iso8601_compact"
- value="4"
- c:identifier="SOUP_DATE_ISO8601_COMPACT"
- glib:nick="iso8601-compact">
- <doc xml:space="preserve">ISO 8601 date/time with no optional
- punctuation. Eg, "19941106T094937-0100".</doc>
- </member>
- <member name="iso8601_full"
- value="5"
- c:identifier="SOUP_DATE_ISO8601_FULL"
- glib:nick="iso8601-full">
- <doc xml:space="preserve">ISO 8601 date/time with all optional
- punctuation. Eg, "1994-11-06T09:49:37-01:00".</doc>
- </member>
- <member name="iso8601"
- value="5"
- c:identifier="SOUP_DATE_ISO8601"
- glib:nick="iso8601">
- <doc xml:space="preserve">An alias for @SOUP_DATE_ISO8601_FULL.</doc>
- </member>
- <member name="iso8601_xmlrpc"
- value="6"
- c:identifier="SOUP_DATE_ISO8601_XMLRPC"
- glib:nick="iso8601-xmlrpc">
- <doc xml:space="preserve">ISO 8601 date/time as used by XML-RPC.
- Eg, "19941106T09:49:37".</doc>
- </member>
- </enumeration>
- <enumeration name="Encoding"
- glib:type-name="SoupEncoding"
- glib:get-type="soup_encoding_get_type"
- c:type="SoupEncoding">
- <doc xml:space="preserve">How a message body is encoded for transport</doc>
- <member name="unrecognized"
- value="0"
- c:identifier="SOUP_ENCODING_UNRECOGNIZED"
- glib:nick="unrecognized">
- <doc xml:space="preserve">unknown / error</doc>
- </member>
- <member name="none"
- value="1"
- c:identifier="SOUP_ENCODING_NONE"
- glib:nick="none">
- <doc xml:space="preserve">no body is present (which is not the same as a
- 0-length body, and only occurs in certain places)</doc>
- </member>
- <member name="content_length"
- value="2"
- c:identifier="SOUP_ENCODING_CONTENT_LENGTH"
- glib:nick="content-length">
- <doc xml:space="preserve">Content-Length encoding</doc>
- </member>
- <member name="eof"
- value="3"
- c:identifier="SOUP_ENCODING_EOF"
- glib:nick="eof">
- <doc xml:space="preserve">Response body ends when the connection is closed</doc>
- </member>
- <member name="chunked"
- value="4"
- c:identifier="SOUP_ENCODING_CHUNKED"
- glib:nick="chunked">
- <doc xml:space="preserve">chunked encoding (currently only supported
- for response)</doc>
- </member>
- <member name="byteranges"
- value="5"
- c:identifier="SOUP_ENCODING_BYTERANGES"
- glib:nick="byteranges">
- <doc xml:space="preserve">multipart/byteranges (Reserved for future
- use: NOT CURRENTLY IMPLEMENTED)</doc>
- </member>
- </enumeration>
- <bitfield name="Expectation"
- glib:type-name="SoupExpectation"
- glib:get-type="soup_expectation_get_type"
- c:type="SoupExpectation">
- <doc xml:space="preserve">Represents the parsed value of the "Expect" header.</doc>
- <member name="unrecognized"
- value="1"
- c:identifier="SOUP_EXPECTATION_UNRECOGNIZED"
- glib:nick="unrecognized">
- <doc xml:space="preserve">any unrecognized expectation</doc>
- </member>
- <member name="continue"
- value="2"
- c:identifier="SOUP_EXPECTATION_CONTINUE"
- glib:nick="continue">
- <doc xml:space="preserve">"100-continue"</doc>
- </member>
- </bitfield>
- <constant name="FORM_H" value="1" c:type="SOUP_FORM_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="FORM_MIME_TYPE_MULTIPART"
- value="multipart/form-data"
- c:type="SOUP_FORM_MIME_TYPE_MULTIPART"
- version="2.26">
- <doc xml:space="preserve">A macro containing the value
- <literal>"multipart/form-data"</literal>; the MIME type used for
- posting form data that contains files to be uploaded.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="FORM_MIME_TYPE_URLENCODED"
- value="application/x-www-form-urlencoded"
- c:type="SOUP_FORM_MIME_TYPE_URLENCODED"
- version="2.26">
- <doc xml:space="preserve">A macro containing the value
- <literal>"application/x-www-form-urlencoded"</literal>; the default
- MIME type for POSTing HTML form data.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="HEADERS_H" value="1" c:type="SOUP_HEADERS_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <enumeration name="HTTPVersion"
- glib:type-name="SoupHTTPVersion"
- glib:get-type="soup_http_version_get_type"
- c:type="SoupHTTPVersion">
- <doc xml:space="preserve">Indicates the HTTP protocol version being used.</doc>
- <member name="http_1_0"
- value="0"
- c:identifier="SOUP_HTTP_1_0"
- glib:nick="http-1-0">
- <doc xml:space="preserve">HTTP 1.0 (RFC 1945)</doc>
- </member>
- <member name="http_1_1"
- value="1"
- c:identifier="SOUP_HTTP_1_1"
- glib:nick="http-1-1">
- <doc xml:space="preserve">HTTP 1.1 (RFC 2616)</doc>
- </member>
- </enumeration>
- <enumeration name="KnownStatusCode"
- glib:type-name="SoupKnownStatusCode"
- glib:get-type="soup_known_status_code_get_type"
- c:type="SoupKnownStatusCode">
- <member name="none"
- value="0"
- c:identifier="SOUP_KNOWN_STATUS_CODE_NONE"
- glib:nick="none">
- </member>
- <member name="cancelled"
- value="1"
- c:identifier="SOUP_KNOWN_STATUS_CODE_CANCELLED"
- glib:nick="cancelled">
- </member>
- <member name="cant_resolve"
- value="2"
- c:identifier="SOUP_KNOWN_STATUS_CODE_CANT_RESOLVE"
- glib:nick="cant-resolve">
- </member>
- <member name="cant_resolve_proxy"
- value="3"
- c:identifier="SOUP_KNOWN_STATUS_CODE_CANT_RESOLVE_PROXY"
- glib:nick="cant-resolve-proxy">
- </member>
- <member name="cant_connect"
- value="4"
- c:identifier="SOUP_KNOWN_STATUS_CODE_CANT_CONNECT"
- glib:nick="cant-connect">
- </member>
- <member name="cant_connect_proxy"
- value="5"
- c:identifier="SOUP_KNOWN_STATUS_CODE_CANT_CONNECT_PROXY"
- glib:nick="cant-connect-proxy">
- </member>
- <member name="ssl_failed"
- value="6"
- c:identifier="SOUP_KNOWN_STATUS_CODE_SSL_FAILED"
- glib:nick="ssl-failed">
- </member>
- <member name="io_error"
- value="7"
- c:identifier="SOUP_KNOWN_STATUS_CODE_IO_ERROR"
- glib:nick="io-error">
- </member>
- <member name="malformed"
- value="8"
- c:identifier="SOUP_KNOWN_STATUS_CODE_MALFORMED"
- glib:nick="malformed">
- </member>
- <member name="try_again"
- value="9"
- c:identifier="SOUP_KNOWN_STATUS_CODE_TRY_AGAIN"
- glib:nick="try-again">
- </member>
- <member name="too_many_redirects"
- value="10"
- c:identifier="SOUP_KNOWN_STATUS_CODE_TOO_MANY_REDIRECTS"
- glib:nick="too-many-redirects">
- </member>
- <member name="tls_failed"
- value="11"
- c:identifier="SOUP_KNOWN_STATUS_CODE_TLS_FAILED"
- glib:nick="tls-failed">
- </member>
- <member name="continue"
- value="100"
- c:identifier="SOUP_KNOWN_STATUS_CODE_CONTINUE"
- glib:nick="continue">
- </member>
- <member name="switching_protocols"
- value="101"
- c:identifier="SOUP_KNOWN_STATUS_CODE_SWITCHING_PROTOCOLS"
- glib:nick="switching-protocols">
- </member>
- <member name="processing"
- value="102"
- c:identifier="SOUP_KNOWN_STATUS_CODE_PROCESSING"
- glib:nick="processing">
- </member>
- <member name="ok"
- value="200"
- c:identifier="SOUP_KNOWN_STATUS_CODE_OK"
- glib:nick="ok">
- </member>
- <member name="created"
- value="201"
- c:identifier="SOUP_KNOWN_STATUS_CODE_CREATED"
- glib:nick="created">
- </member>
- <member name="accepted"
- value="202"
- c:identifier="SOUP_KNOWN_STATUS_CODE_ACCEPTED"
- glib:nick="accepted">
- </member>
- <member name="non_authoritative"
- value="203"
- c:identifier="SOUP_KNOWN_STATUS_CODE_NON_AUTHORITATIVE"
- glib:nick="non-authoritative">
- </member>
- <member name="no_content"
- value="204"
- c:identifier="SOUP_KNOWN_STATUS_CODE_NO_CONTENT"
- glib:nick="no-content">
- </member>
- <member name="reset_content"
- value="205"
- c:identifier="SOUP_KNOWN_STATUS_CODE_RESET_CONTENT"
- glib:nick="reset-content">
- </member>
- <member name="partial_content"
- value="206"
- c:identifier="SOUP_KNOWN_STATUS_CODE_PARTIAL_CONTENT"
- glib:nick="partial-content">
- </member>
- <member name="multi_status"
- value="207"
- c:identifier="SOUP_KNOWN_STATUS_CODE_MULTI_STATUS"
- glib:nick="multi-status">
- </member>
- <member name="multiple_choices"
- value="300"
- c:identifier="SOUP_KNOWN_STATUS_CODE_MULTIPLE_CHOICES"
- glib:nick="multiple-choices">
- </member>
- <member name="moved_permanently"
- value="301"
- c:identifier="SOUP_KNOWN_STATUS_CODE_MOVED_PERMANENTLY"
- glib:nick="moved-permanently">
- </member>
- <member name="found"
- value="302"
- c:identifier="SOUP_KNOWN_STATUS_CODE_FOUND"
- glib:nick="found">
- </member>
- <member name="moved_temporarily"
- value="302"
- c:identifier="SOUP_KNOWN_STATUS_CODE_MOVED_TEMPORARILY"
- glib:nick="moved-temporarily">
- </member>
- <member name="see_other"
- value="303"
- c:identifier="SOUP_KNOWN_STATUS_CODE_SEE_OTHER"
- glib:nick="see-other">
- </member>
- <member name="not_modified"
- value="304"
- c:identifier="SOUP_KNOWN_STATUS_CODE_NOT_MODIFIED"
- glib:nick="not-modified">
- </member>
- <member name="use_proxy"
- value="305"
- c:identifier="SOUP_KNOWN_STATUS_CODE_USE_PROXY"
- glib:nick="use-proxy">
- </member>
- <member name="not_appearing_in_this_protocol"
- value="306"
- c:identifier="SOUP_KNOWN_STATUS_CODE_NOT_APPEARING_IN_THIS_PROTOCOL"
- glib:nick="not-appearing-in-this-protocol">
- </member>
- <member name="temporary_redirect"
- value="307"
- c:identifier="SOUP_KNOWN_STATUS_CODE_TEMPORARY_REDIRECT"
- glib:nick="temporary-redirect">
- </member>
- <member name="bad_request"
- value="400"
- c:identifier="SOUP_KNOWN_STATUS_CODE_BAD_REQUEST"
- glib:nick="bad-request">
- </member>
- <member name="unauthorized"
- value="401"
- c:identifier="SOUP_KNOWN_STATUS_CODE_UNAUTHORIZED"
- glib:nick="unauthorized">
- </member>
- <member name="payment_required"
- value="402"
- c:identifier="SOUP_KNOWN_STATUS_CODE_PAYMENT_REQUIRED"
- glib:nick="payment-required">
- </member>
- <member name="forbidden"
- value="403"
- c:identifier="SOUP_KNOWN_STATUS_CODE_FORBIDDEN"
- glib:nick="forbidden">
- </member>
- <member name="not_found"
- value="404"
- c:identifier="SOUP_KNOWN_STATUS_CODE_NOT_FOUND"
- glib:nick="not-found">
- </member>
- <member name="method_not_allowed"
- value="405"
- c:identifier="SOUP_KNOWN_STATUS_CODE_METHOD_NOT_ALLOWED"
- glib:nick="method-not-allowed">
- </member>
- <member name="not_acceptable"
- value="406"
- c:identifier="SOUP_KNOWN_STATUS_CODE_NOT_ACCEPTABLE"
- glib:nick="not-acceptable">
- </member>
- <member name="proxy_authentication_required"
- value="407"
- c:identifier="SOUP_KNOWN_STATUS_CODE_PROXY_AUTHENTICATION_REQUIRED"
- glib:nick="proxy-authentication-required">
- </member>
- <member name="proxy_unauthorized"
- value="407"
- c:identifier="SOUP_KNOWN_STATUS_CODE_PROXY_UNAUTHORIZED"
- glib:nick="proxy-unauthorized">
- </member>
- <member name="request_timeout"
- value="408"
- c:identifier="SOUP_KNOWN_STATUS_CODE_REQUEST_TIMEOUT"
- glib:nick="request-timeout">
- </member>
- <member name="conflict"
- value="409"
- c:identifier="SOUP_KNOWN_STATUS_CODE_CONFLICT"
- glib:nick="conflict">
- </member>
- <member name="gone"
- value="410"
- c:identifier="SOUP_KNOWN_STATUS_CODE_GONE"
- glib:nick="gone">
- </member>
- <member name="length_required"
- value="411"
- c:identifier="SOUP_KNOWN_STATUS_CODE_LENGTH_REQUIRED"
- glib:nick="length-required">
- </member>
- <member name="precondition_failed"
- value="412"
- c:identifier="SOUP_KNOWN_STATUS_CODE_PRECONDITION_FAILED"
- glib:nick="precondition-failed">
- </member>
- <member name="request_entity_too_large"
- value="413"
- c:identifier="SOUP_KNOWN_STATUS_CODE_REQUEST_ENTITY_TOO_LARGE"
- glib:nick="request-entity-too-large">
- </member>
- <member name="request_uri_too_long"
- value="414"
- c:identifier="SOUP_KNOWN_STATUS_CODE_REQUEST_URI_TOO_LONG"
- glib:nick="request-uri-too-long">
- </member>
- <member name="unsupported_media_type"
- value="415"
- c:identifier="SOUP_KNOWN_STATUS_CODE_UNSUPPORTED_MEDIA_TYPE"
- glib:nick="unsupported-media-type">
- </member>
- <member name="requested_range_not_satisfiable"
- value="416"
- c:identifier="SOUP_KNOWN_STATUS_CODE_REQUESTED_RANGE_NOT_SATISFIABLE"
- glib:nick="requested-range-not-satisfiable">
- </member>
- <member name="invalid_range"
- value="416"
- c:identifier="SOUP_KNOWN_STATUS_CODE_INVALID_RANGE"
- glib:nick="invalid-range">
- </member>
- <member name="expectation_failed"
- value="417"
- c:identifier="SOUP_KNOWN_STATUS_CODE_EXPECTATION_FAILED"
- glib:nick="expectation-failed">
- </member>
- <member name="unprocessable_entity"
- value="422"
- c:identifier="SOUP_KNOWN_STATUS_CODE_UNPROCESSABLE_ENTITY"
- glib:nick="unprocessable-entity">
- </member>
- <member name="locked"
- value="423"
- c:identifier="SOUP_KNOWN_STATUS_CODE_LOCKED"
- glib:nick="locked">
- </member>
- <member name="failed_dependency"
- value="424"
- c:identifier="SOUP_KNOWN_STATUS_CODE_FAILED_DEPENDENCY"
- glib:nick="failed-dependency">
- </member>
- <member name="internal_server_error"
- value="500"
- c:identifier="SOUP_KNOWN_STATUS_CODE_INTERNAL_SERVER_ERROR"
- glib:nick="internal-server-error">
- </member>
- <member name="not_implemented"
- value="501"
- c:identifier="SOUP_KNOWN_STATUS_CODE_NOT_IMPLEMENTED"
- glib:nick="not-implemented">
- </member>
- <member name="bad_gateway"
- value="502"
- c:identifier="SOUP_KNOWN_STATUS_CODE_BAD_GATEWAY"
- glib:nick="bad-gateway">
- </member>
- <member name="service_unavailable"
- value="503"
- c:identifier="SOUP_KNOWN_STATUS_CODE_SERVICE_UNAVAILABLE"
- glib:nick="service-unavailable">
- </member>
- <member name="gateway_timeout"
- value="504"
- c:identifier="SOUP_KNOWN_STATUS_CODE_GATEWAY_TIMEOUT"
- glib:nick="gateway-timeout">
- </member>
- <member name="http_version_not_supported"
- value="505"
- c:identifier="SOUP_KNOWN_STATUS_CODE_HTTP_VERSION_NOT_SUPPORTED"
- glib:nick="http-version-not-supported">
- </member>
- <member name="insufficient_storage"
- value="507"
- c:identifier="SOUP_KNOWN_STATUS_CODE_INSUFFICIENT_STORAGE"
- glib:nick="insufficient-storage">
- </member>
- <member name="not_extended"
- value="510"
- c:identifier="SOUP_KNOWN_STATUS_CODE_NOT_EXTENDED"
- glib:nick="not-extended">
- </member>
- </enumeration>
- <constant name="LOGGER_H" value="1" c:type="SOUP_LOGGER_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <class name="Logger"
- c:symbol-prefix="logger"
- c:type="SoupLogger"
- parent="GObject.Object"
- glib:type-name="SoupLogger"
- glib:get-type="soup_logger_get_type"
- glib:type-struct="LoggerClass">
- <implements name="SessionFeature"/>
- <constructor name="new" c:identifier="soup_logger_new">
- <doc xml:space="preserve">Creates a new #SoupLogger with the given debug level. If @level is
- %SOUP_LOGGER_LOG_BODY, @max_body_size gives the maximum number of
- bytes of the body that will be logged. (-1 means "no limit".)
- If you need finer control over what message parts are and aren't
- logged, use soup_logger_set_request_filter() and
- soup_logger_set_response_filter().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupLogger</doc>
- <type name="Logger" c:type="SoupLogger*"/>
- </return-value>
- <parameters>
- <parameter name="level" transfer-ownership="none">
- <doc xml:space="preserve">the debug level</doc>
- <type name="LoggerLogLevel" c:type="SoupLoggerLogLevel"/>
- </parameter>
- <parameter name="max_body_size" transfer-ownership="none">
- <doc xml:space="preserve">the maximum body size to output, or -1</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="attach" c:identifier="soup_logger_attach" deprecated="1">
- <doc xml:space="preserve">Sets @logger to watch @session and print debug information for
- its messages.
- (The session will take a reference on @logger, which will be
- removed when you call soup_logger_detach(), or when the session is
- destroyed.)</doc>
- <doc-deprecated xml:space="preserve">Use soup_session_add_feature() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="logger" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupLogger</doc>
- <type name="Logger" c:type="SoupLogger*"/>
- </instance-parameter>
- <parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </method>
- <method name="detach" c:identifier="soup_logger_detach" deprecated="1">
- <doc xml:space="preserve">Stops @logger from watching @session.</doc>
- <doc-deprecated xml:space="preserve">Use soup_session_remove_feature() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="logger" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupLogger</doc>
- <type name="Logger" c:type="SoupLogger*"/>
- </instance-parameter>
- <parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_printer" c:identifier="soup_logger_set_printer">
- <doc xml:space="preserve">Sets up an alternate log printing routine, if you don't want
- the log to go to <literal>stdout</literal>.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="logger" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupLogger</doc>
- <type name="Logger" c:type="SoupLogger*"/>
- </instance-parameter>
- <parameter name="printer"
- transfer-ownership="none"
- scope="notified"
- closure="1"
- destroy="2">
- <doc xml:space="preserve">the callback for printing logging output</doc>
- <type name="LoggerPrinter" c:type="SoupLoggerPrinter"/>
- </parameter>
- <parameter name="printer_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to the callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">a #GDestroyNotify to free @printer_data</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_request_filter"
- c:identifier="soup_logger_set_request_filter">
- <doc xml:space="preserve">Sets up a filter to determine the log level for a given request.
- For each HTTP request @logger will invoke @request_filter to
- determine how much (if any) of that request to log. (If you do not
- set a request filter, @logger will just always log requests at the
- level passed to soup_logger_new().)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="logger" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupLogger</doc>
- <type name="Logger" c:type="SoupLogger*"/>
- </instance-parameter>
- <parameter name="request_filter"
- transfer-ownership="none"
- scope="notified"
- closure="1"
- destroy="2">
- <doc xml:space="preserve">the callback for request debugging</doc>
- <type name="LoggerFilter" c:type="SoupLoggerFilter"/>
- </parameter>
- <parameter name="filter_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to the callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">a #GDestroyNotify to free @filter_data</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_response_filter"
- c:identifier="soup_logger_set_response_filter">
- <doc xml:space="preserve">Sets up a filter to determine the log level for a given response.
- For each HTTP response @logger will invoke @response_filter to
- determine how much (if any) of that response to log. (If you do not
- set a response filter, @logger will just always log responses at
- the level passed to soup_logger_new().)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="logger" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupLogger</doc>
- <type name="Logger" c:type="SoupLogger*"/>
- </instance-parameter>
- <parameter name="response_filter"
- transfer-ownership="none"
- scope="notified"
- closure="1"
- destroy="2">
- <doc xml:space="preserve">the callback for response debugging</doc>
- <type name="LoggerFilter" c:type="SoupLoggerFilter"/>
- </parameter>
- <parameter name="filter_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to the callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">a #GDestroyNotify to free @filter_data</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <record name="LoggerClass"
- c:type="SoupLoggerClass"
- glib:is-gtype-struct-for="Logger">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <callback name="LoggerFilter" c:type="SoupLoggerFilter">
- <doc xml:space="preserve">The prototype for a logging filter. The filter callback will be
- invoked for each request or response, and should analyze it and
- return a #SoupLoggerLogLevel value indicating how much of the
- message to log. Eg, it might choose between %SOUP_LOGGER_LOG_BODY
- and %SOUP_LOGGER_LOG_HEADERS depending on the Content-Type.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #SoupLoggerLogLevel value indicating how much of
- the message to log</doc>
- <type name="LoggerLogLevel" c:type="SoupLoggerLogLevel"/>
- </return-value>
- <parameters>
- <parameter name="logger" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupLogger</doc>
- <type name="Logger" c:type="SoupLogger*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message being logged</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">the data passed to soup_logger_set_request_filter()
- or soup_logger_set_response_filter()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <enumeration name="LoggerLogLevel"
- glib:type-name="SoupLoggerLogLevel"
- glib:get-type="soup_logger_log_level_get_type"
- c:type="SoupLoggerLogLevel">
- <doc xml:space="preserve">Describes the level of logging output to provide.</doc>
- <member name="none"
- value="0"
- c:identifier="SOUP_LOGGER_LOG_NONE"
- glib:nick="none">
- <doc xml:space="preserve">No logging</doc>
- </member>
- <member name="minimal"
- value="1"
- c:identifier="SOUP_LOGGER_LOG_MINIMAL"
- glib:nick="minimal">
- <doc xml:space="preserve">Log the Request-Line or Status-Line and
- the Soup-Debug pseudo-headers</doc>
- </member>
- <member name="headers"
- value="2"
- c:identifier="SOUP_LOGGER_LOG_HEADERS"
- glib:nick="headers">
- <doc xml:space="preserve">Log the full request/response headers</doc>
- </member>
- <member name="body"
- value="3"
- c:identifier="SOUP_LOGGER_LOG_BODY"
- glib:nick="body">
- <doc xml:space="preserve">Log the full headers and request/response
- bodies.</doc>
- </member>
- </enumeration>
- <callback name="LoggerPrinter" c:type="SoupLoggerPrinter">
- <doc xml:space="preserve">The prototype for a custom printing callback.
- @level indicates what kind of information is being printed. Eg, it
- will be %SOUP_LOGGER_LOG_HEADERS if @data is header data.
- @direction is either '<', '>', or ' ', and @data is the single line
- to print; the printer is expected to add a terminating newline.
- To get the effect of the default printer, you would do:
- <informalexample><programlisting>
- printf ("%c %s\n", direction, data);
- </programlisting></informalexample></doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="logger" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupLogger</doc>
- <type name="Logger" c:type="SoupLogger*"/>
- </parameter>
- <parameter name="level" transfer-ownership="none">
- <doc xml:space="preserve">the level of the information being printed.</doc>
- <type name="LoggerLogLevel" c:type="SoupLoggerLogLevel"/>
- </parameter>
- <parameter name="direction" transfer-ownership="none">
- <doc xml:space="preserve">a single-character prefix to @data</doc>
- <type name="gchar" c:type="char"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">data to print</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="4">
- <doc xml:space="preserve">the data passed to soup_logger_set_printer()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <constant name="MESSAGE_BODY_H" value="1" c:type="SOUP_MESSAGE_BODY_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="MESSAGE_FIRST_PARTY"
- value="first-party"
- c:type="SOUP_MESSAGE_FIRST_PARTY"
- version="2.30">
- <doc xml:space="preserve">Alias for the #SoupMessage:first-party property. (The
- #SoupURI loaded in the application when the message was
- queued.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_FLAGS" value="flags" c:type="SOUP_MESSAGE_FLAGS">
- <doc xml:space="preserve">Alias for the #SoupMessage:flags property. (The message's
- #SoupMessageFlags.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_H" value="1" c:type="SOUP_MESSAGE_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="MESSAGE_HEADERS_H"
- value="1"
- c:type="SOUP_MESSAGE_HEADERS_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="MESSAGE_HTTP_VERSION"
- value="http-version"
- c:type="SOUP_MESSAGE_HTTP_VERSION">
- <doc xml:space="preserve">Alias for the #SoupMessage:http-version property. (The
- message's #SoupHTTPVersion.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_METHOD"
- value="method"
- c:type="SOUP_MESSAGE_METHOD">
- <doc xml:space="preserve">Alias for the #SoupMessage:method property. (The message's
- HTTP method.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_PRIORITY"
- value="priority"
- c:type="SOUP_MESSAGE_PRIORITY"
- version="2.44">
- <doc xml:space="preserve">Sets the priority of the #SoupMessage. See
- soup_message_set_priority() for further details.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_REASON_PHRASE"
- value="reason-phrase"
- c:type="SOUP_MESSAGE_REASON_PHRASE">
- <doc xml:space="preserve">Alias for the #SoupMessage:reason-phrase property. (The
- message's HTTP response reason phrase.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_REQUEST_BODY"
- value="request-body"
- c:type="SOUP_MESSAGE_REQUEST_BODY">
- <doc xml:space="preserve">Alias for the #SoupMessage:request-body property. (The
- message's HTTP request body.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_REQUEST_BODY_DATA"
- value="request-body-data"
- c:type="SOUP_MESSAGE_REQUEST_BODY_DATA"
- version="2.46">
- <doc xml:space="preserve">Alias for the #SoupMessage:request-body-data property. (The
- message's HTTP request body, as a #GBytes.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_REQUEST_HEADERS"
- value="request-headers"
- c:type="SOUP_MESSAGE_REQUEST_HEADERS">
- <doc xml:space="preserve">Alias for the #SoupMessage:request-headers property. (The
- message's HTTP request headers.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_RESPONSE_BODY"
- value="response-body"
- c:type="SOUP_MESSAGE_RESPONSE_BODY">
- <doc xml:space="preserve">Alias for the #SoupMessage:response-body property. (The
- message's HTTP response body.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_RESPONSE_BODY_DATA"
- value="response-body-data"
- c:type="SOUP_MESSAGE_RESPONSE_BODY_DATA"
- version="2.46">
- <doc xml:space="preserve">Alias for the #SoupMessage:response-body-data property. (The
- message's HTTP response body, as a #GBytes.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_RESPONSE_HEADERS"
- value="response-headers"
- c:type="SOUP_MESSAGE_RESPONSE_HEADERS">
- <doc xml:space="preserve">Alias for the #SoupMessage:response-headers property. (The
- message's HTTP response headers.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_SERVER_SIDE"
- value="server-side"
- c:type="SOUP_MESSAGE_SERVER_SIDE">
- <doc xml:space="preserve">Alias for the #SoupMessage:server-side property. (%TRUE if
- the message was created by #SoupServer.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_STATUS_CODE"
- value="status-code"
- c:type="SOUP_MESSAGE_STATUS_CODE">
- <doc xml:space="preserve">Alias for the #SoupMessage:status-code property. (The
- message's HTTP response status code.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_TLS_CERTIFICATE"
- value="tls-certificate"
- c:type="SOUP_MESSAGE_TLS_CERTIFICATE"
- version="2.34">
- <doc xml:space="preserve">Alias for the #SoupMessage:tls-certificate property. (The
- TLS certificate associated with the message, if any.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_TLS_ERRORS"
- value="tls-errors"
- c:type="SOUP_MESSAGE_TLS_ERRORS"
- version="2.34">
- <doc xml:space="preserve">Alias for the #SoupMessage:tls-errors property. (The
- verification errors on #SoupMessage:tls-certificate.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="MESSAGE_URI" value="uri" c:type="SOUP_MESSAGE_URI">
- <doc xml:space="preserve">Alias for the #SoupMessage:uri property. (The message's
- #SoupURI.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="METHOD_H" value="1" c:type="SOUP_METHOD_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="MISC_H" value="1" c:type="SOUP_MISC_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="MULTIPART_H" value="1" c:type="SOUP_MULTIPART_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="MULTIPART_INPUT_STREAM_H"
- value="1"
- c:type="SOUP_MULTIPART_INPUT_STREAM_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <enumeration name="MemoryUse"
- glib:type-name="SoupMemoryUse"
- glib:get-type="soup_memory_use_get_type"
- c:type="SoupMemoryUse">
- <doc xml:space="preserve">Describes how #SoupBuffer should use the data passed in by the
- caller.
- See also soup_buffer_new_with_owner(), which allows to you create a
- buffer containing data which is owned by another object.</doc>
- <member name="static"
- value="0"
- c:identifier="SOUP_MEMORY_STATIC"
- glib:nick="static">
- <doc xml:space="preserve">The memory is statically allocated and
- constant; libsoup can use the passed-in buffer directly and not
- need to worry about it being modified or freed.</doc>
- </member>
- <member name="take"
- value="1"
- c:identifier="SOUP_MEMORY_TAKE"
- glib:nick="take">
- <doc xml:space="preserve">The caller has allocated the memory for the
- #SoupBuffer's use; libsoup will assume ownership of it and free it
- (with g_free()) when it is done with it.</doc>
- </member>
- <member name="copy"
- value="2"
- c:identifier="SOUP_MEMORY_COPY"
- glib:nick="copy">
- <doc xml:space="preserve">The passed-in data belongs to the caller; the
- #SoupBuffer will copy it into new memory, leaving the caller free
- to reuse the original memory.</doc>
- </member>
- <member name="temporary"
- value="3"
- c:identifier="SOUP_MEMORY_TEMPORARY"
- glib:nick="temporary">
- <doc xml:space="preserve">The passed-in data belongs to the caller,
- but will remain valid for the lifetime of the #SoupBuffer. The
- difference between this and @SOUP_MEMORY_STATIC is that if you copy
- a @SOUP_MEMORY_TEMPORARY buffer, it will make a copy of the memory
- as well, rather than reusing the original memory.</doc>
- </member>
- </enumeration>
- <class name="Message"
- c:symbol-prefix="message"
- c:type="SoupMessage"
- parent="GObject.Object"
- glib:type-name="SoupMessage"
- glib:get-type="soup_message_get_type"
- glib:type-struct="MessageClass">
- <doc xml:space="preserve">Represents an HTTP message being sent or received.
- @status_code will normally be a #SoupStatus value, eg,
- %SOUP_STATUS_OK, though of course it might actually be an unknown
- status code. @reason_phrase is the actual text returned from the
- server, which may or may not correspond to the "standard"
- description of @status_code. At any rate, it is almost certainly
- not localized, and not very descriptive even if it is in the user's
- language; you should not use @reason_phrase in user-visible
- messages. Rather, you should look at @status_code, and determine an
- end-user-appropriate message based on that and on what you were
- trying to do.
- As described in the #SoupMessageBody documentation, the
- @request_body and @response_body <literal>data</literal> fields
- will not necessarily be filled in at all times. When the body
- fields are filled in, they will be terminated with a '\0' byte
- (which is not included in the <literal>length</literal>), so you
- can use them as ordinary C strings (assuming that you know that the
- body doesn't have any other '\0' bytes).
- For a client-side #SoupMessage, @request_body's
- <literal>data</literal> is usually filled in right before libsoup
- writes the request to the network, but you should not count on
- this; use soup_message_body_flatten() if you want to ensure that
- <literal>data</literal> is filled in. If you are not using
- #SoupRequest to read the response, then @response_body's
- <literal>data</literal> will be filled in before
- #SoupMessage::finished is emitted. (If you are using #SoupRequest,
- then the message body is not accumulated by default, so
- @response_body's <literal>data</literal> will always be %NULL.)
- For a server-side #SoupMessage, @request_body's %data will be
- filled in before #SoupMessage::got_body is emitted.
- To prevent the %data field from being filled in at all (eg, if you
- are handling the data from a #SoupMessage::got_chunk, and so don't
- need to see it all at the end), call
- soup_message_body_set_accumulate() on @response_body or
- @request_body as appropriate, passing %FALSE.</doc>
- <constructor name="new" c:identifier="soup_message_new">
- <doc xml:space="preserve">Creates a new empty #SoupMessage, which will connect to @uri</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the new #SoupMessage (or %NULL if @uri
- could not be parsed).</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <doc xml:space="preserve">the HTTP method for the created request</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="uri_string" transfer-ownership="none">
- <doc xml:space="preserve">the destination endpoint (as a string)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_uri"
- c:identifier="soup_message_new_from_uri">
- <doc xml:space="preserve">Creates a new empty #SoupMessage, which will connect to @uri</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <doc xml:space="preserve">the HTTP method for the created request</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the destination endpoint (as a #SoupURI)</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </constructor>
- <virtual-method name="finished" invoker="finished">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="got_body" invoker="got_body">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="got_chunk" invoker="got_chunk">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="chunk" transfer-ownership="none">
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="got_headers" invoker="got_headers">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="got_informational" invoker="got_informational">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="restarted" invoker="restarted">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="starting" invoker="starting">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="wrote_body" invoker="wrote_body">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="wrote_chunk" invoker="wrote_chunk">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="wrote_headers" invoker="wrote_headers">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="wrote_informational" invoker="wrote_informational">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <method name="add_header_handler"
- c:identifier="soup_message_add_header_handler"
- introspectable="0">
- <doc xml:space="preserve">Adds a signal handler to @msg for @signal, as with
- g_signal_connect(), but the @callback will only be run if @msg's
- incoming messages headers (that is, the
- <literal>request_headers</literal> for a client #SoupMessage, or
- the <literal>response_headers</literal> for a server #SoupMessage)
- contain a header named @header.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the handler ID from g_signal_connect()</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="signal" transfer-ownership="none">
- <doc xml:space="preserve">signal to connect the handler to.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="header" transfer-ownership="none">
- <doc xml:space="preserve">HTTP response header to match against</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="callback" transfer-ownership="none" closure="3">
- <doc xml:space="preserve">the header handler</doc>
- <type name="GObject.Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @handler_cb</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_status_code_handler"
- c:identifier="soup_message_add_status_code_handler"
- introspectable="0">
- <doc xml:space="preserve">Adds a signal handler to @msg for @signal, as with
- g_signal_connect(), but the @callback will only be run if @msg has
- the status @status_code.
- @signal must be a signal that will be emitted after @msg's status
- is set. For a client #SoupMessage, this means it can't be a "wrote"
- signal. For a server #SoupMessage, this means it can't be a "got"
- signal.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the handler ID from g_signal_connect()</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="signal" transfer-ownership="none">
- <doc xml:space="preserve">signal to connect the handler to.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">status code to match against</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="callback" transfer-ownership="none" closure="3">
- <doc xml:space="preserve">the header handler</doc>
- <type name="GObject.Callback" c:type="GCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @handler_cb</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="content_sniffed"
- c:identifier="soup_message_content_sniffed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="content_type" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="params" transfer-ownership="none">
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="gpointer" c:type="gpointer"/>
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </parameter>
- </parameters>
- </method>
- <method name="disable_feature"
- c:identifier="soup_message_disable_feature"
- version="2.28">
- <doc xml:space="preserve">This disables the actions of #SoupSessionFeature<!-- -->s with the
- given @feature_type (or a subclass of that type) on @msg, so that
- @msg is processed as though the feature(s) hadn't been added to the
- session. Eg, passing #SOUP_TYPE_CONTENT_SNIFFER for @feature_type
- will disable Content-Type sniffing on the message.
- You must call this before queueing @msg on a session; calling it on
- a message that has already been queued is undefined. In particular,
- you cannot call this on a message that is being requeued after a
- redirect or authentication.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="feature_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a #SoupSessionFeature</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="finished" c:identifier="soup_message_finished">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_address"
- c:identifier="soup_message_get_address"
- version="2.26">
- <doc xml:space="preserve">Gets the address @msg's URI points to. After first setting the
- URI on a message, this will be unresolved, although the message's
- session will resolve it before sending the message.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the address @msg's URI points to</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_first_party"
- c:identifier="soup_message_get_first_party"
- version="2.30">
- <doc xml:space="preserve">Gets @msg's first-party #SoupURI</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the @msg's first party #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_flags" c:identifier="soup_message_get_flags">
- <doc xml:space="preserve">Gets the flags on @msg</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the flags</doc>
- <type name="MessageFlags" c:type="SoupMessageFlags"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_http_version"
- c:identifier="soup_message_get_http_version">
- <doc xml:space="preserve">Gets the HTTP version of @msg. This is the minimum of the
- version from the request and the version from the response.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the HTTP version</doc>
- <type name="HTTPVersion" c:type="SoupHTTPVersion"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_https_status"
- c:identifier="soup_message_get_https_status"
- version="2.34">
- <doc xml:space="preserve">If @msg is using https (or attempted to use https but got
- %SOUP_STATUS_SSL_FAILED), this retrieves the #GTlsCertificate
- associated with its connection, and the #GTlsCertificateFlags
- showing what problems, if any, have been found with that
- certificate.
- <note><para>This is only meaningful with messages processed by a #SoupSession and is
- not useful for messages received by a #SoupServer</para></note></doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @msg used/attempted https, %FALSE if not</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="certificate"
- direction="out"
- caller-allocates="0"
- transfer-ownership="none">
- <doc xml:space="preserve">@msg's TLS certificate</doc>
- <type name="Gio.TlsCertificate" c:type="GTlsCertificate**"/>
- </parameter>
- <parameter name="errors"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">the verification status of @certificate</doc>
- <type name="Gio.TlsCertificateFlags"
- c:type="GTlsCertificateFlags*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_priority"
- c:identifier="soup_message_get_priority"
- version="2.44">
- <doc xml:space="preserve">Retrieves the #SoupMessagePriority. If not set this value defaults
- to #SOUP_MESSAGE_PRIORITY_NORMAL.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the priority of the message.</doc>
- <type name="MessagePriority" c:type="SoupMessagePriority"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_soup_request"
- c:identifier="soup_message_get_soup_request"
- version="2.42">
- <doc xml:space="preserve">If @msg is associated with a #SoupRequest, this returns that
- request. Otherwise it returns %NULL.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@msg's associated #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_uri" c:identifier="soup_message_get_uri">
- <doc xml:space="preserve">Gets @msg's URI</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the URI @msg is targeted for.</doc>
- <type name="URI" c:type="SoupURI*"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="got_body" c:identifier="soup_message_got_body">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="got_chunk" c:identifier="soup_message_got_chunk">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="chunk" transfer-ownership="none">
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="got_headers" c:identifier="soup_message_got_headers">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="got_informational"
- c:identifier="soup_message_got_informational">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_keepalive" c:identifier="soup_message_is_keepalive">
- <doc xml:space="preserve">Determines whether or not @msg's connection can be kept alive for
- further requests after processing @msg, based on the HTTP version,
- Connection header, etc.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE or %FALSE.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="restarted" c:identifier="soup_message_restarted">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="set_chunk_allocator"
- c:identifier="soup_message_set_chunk_allocator"
- deprecated="1">
- <doc xml:space="preserve">Sets an alternate chunk-allocation function to use when reading
- @msg's body when using the traditional (ie,
- non-#SoupRequest<!-- -->-based) API. Every time data is available
- to read, libsoup will call @allocator, which should return a
- #SoupBuffer. (See #SoupChunkAllocator for additional details.)
- Libsoup will then read data from the network into that buffer, and
- update the buffer's <literal>length</literal> to indicate how much
- data it read.
- Generally, a custom chunk allocator would be used in conjunction
- with soup_message_body_set_accumulate() %FALSE and
- #SoupMessage::got_chunk, as part of a strategy to avoid unnecessary
- copying of data. However, you cannot assume that every call to the
- allocator will be followed by a call to your
- #SoupMessage::got_chunk handler; if an I/O error occurs, then the
- buffer will be unreffed without ever having been used. If your
- buffer-allocation strategy requires special cleanup, use
- soup_buffer_new_with_owner() rather than doing the cleanup from the
- #SoupMessage::got_chunk handler.
- The other thing to remember when using non-accumulating message
- bodies is that the buffer passed to the #SoupMessage::got_chunk
- handler will be unreffed after the handler returns, just as it
- would be in the non-custom-allocated case. If you want to hand the
- chunk data off to some other part of your program to use later,
- you'll need to ref the #SoupBuffer (or its owner, in the
- soup_buffer_new_with_owner() case) to ensure that the data remains
- valid.</doc>
- <doc-deprecated xml:space="preserve">#SoupRequest provides a much simpler API that lets you
- read the response directly into your own buffers without needing to
- mess with callbacks, pausing/unpausing, etc.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="allocator"
- transfer-ownership="none"
- scope="notified"
- closure="1"
- destroy="2">
- <doc xml:space="preserve">the chunk allocator callback</doc>
- <type name="ChunkAllocator" c:type="SoupChunkAllocator"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @allocator</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy_notify"
- transfer-ownership="none"
- scope="async">
- <doc xml:space="preserve">destroy notifier to free @user_data when @msg is
- destroyed</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_first_party"
- c:identifier="soup_message_set_first_party"
- version="2.30">
- <doc xml:space="preserve">Sets @first_party as the main document #SoupURI for @msg. For
- details of when and how this is used refer to the documentation for
- #SoupCookieJarAcceptPolicy.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="first_party" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupURI for the @msg's first party</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_flags" c:identifier="soup_message_set_flags">
- <doc xml:space="preserve">Sets the specified flags on @msg.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="flags" transfer-ownership="none">
- <doc xml:space="preserve">a set of #SoupMessageFlags values</doc>
- <type name="MessageFlags" c:type="SoupMessageFlags"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_http_version"
- c:identifier="soup_message_set_http_version">
- <doc xml:space="preserve">Sets the HTTP version on @msg. The default version is
- %SOUP_HTTP_1_1. Setting it to %SOUP_HTTP_1_0 will prevent certain
- functionality from being used.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="version" transfer-ownership="none">
- <doc xml:space="preserve">the HTTP version</doc>
- <type name="HTTPVersion" c:type="SoupHTTPVersion"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_priority"
- c:identifier="soup_message_set_priority"
- version="2.44">
- <doc xml:space="preserve">Sets the priority of a message. Note that this won't have any
- effect unless used before the message is added to the session's
- message processing queue.
- The message will be placed just before any other previously added
- message with lower priority (messages with the same priority are
- processed on a FIFO basis).
- Setting priorities does not currently work with #SoupSessionSync
- (or with synchronous messages on a plain #SoupSession) because in
- the synchronous/blocking case, priority ends up being determined
- semi-randomly by thread scheduling.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="priority" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessagePriority</doc>
- <type name="MessagePriority" c:type="SoupMessagePriority"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_redirect"
- c:identifier="soup_message_set_redirect"
- version="2.38">
- <doc xml:space="preserve">Sets @msg's status_code to @status_code and adds a Location header
- pointing to @redirect_uri. Use this from a #SoupServer when you
- want to redirect the client to another URI.
- @redirect_uri can be a relative URI, in which case it is
- interpreted relative to @msg's current URI. In particular, if
- @redirect_uri is just a path, it will replace the path
- <emphasis>and query</emphasis> of @msg's URI.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">a 3xx status code</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="redirect_uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI to redirect @msg to</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_request" c:identifier="soup_message_set_request">
- <doc xml:space="preserve">Convenience function to set the request body of a #SoupMessage. If
- @content_type is %NULL, the request body must be empty as well.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="content_type"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">MIME Content-Type of the body</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="req_use" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMemoryUse describing how to handle @req_body</doc>
- <type name="MemoryUse" c:type="SoupMemoryUse"/>
- </parameter>
- <parameter name="req_body"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">
- a data buffer containing the body of the message request.</doc>
- <array length="3" zero-terminated="0" c:type="char*">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="req_length" transfer-ownership="none">
- <doc xml:space="preserve">the byte length of @req_body.</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_response" c:identifier="soup_message_set_response">
- <doc xml:space="preserve">Convenience function to set the response body of a #SoupMessage. If
- @content_type is %NULL, the response body must be empty as well.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="content_type"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">MIME Content-Type of the body</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="resp_use" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMemoryUse describing how to handle @resp_body</doc>
- <type name="MemoryUse" c:type="SoupMemoryUse"/>
- </parameter>
- <parameter name="resp_body"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">
- a data buffer containing the body of the message response.</doc>
- <array length="3" zero-terminated="0" c:type="char*">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="resp_length" transfer-ownership="none">
- <doc xml:space="preserve">the byte length of @resp_body.</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_status" c:identifier="soup_message_set_status">
- <doc xml:space="preserve">Sets @msg's status code to @status_code. If @status_code is a
- known value, it will also set @msg's reason_phrase.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">an HTTP status code</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_status_full"
- c:identifier="soup_message_set_status_full">
- <doc xml:space="preserve">Sets @msg's status code and reason phrase.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">an HTTP status code</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="reason_phrase" transfer-ownership="none">
- <doc xml:space="preserve">a description of the status</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_uri" c:identifier="soup_message_set_uri">
- <doc xml:space="preserve">Sets @msg's URI to @uri. If @msg has already been sent and you want
- to re-send it with the new URI, you need to call
- soup_session_requeue_message().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the new #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </method>
- <method name="starting" c:identifier="soup_message_starting">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="wrote_body" c:identifier="soup_message_wrote_body">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="wrote_body_data"
- c:identifier="soup_message_wrote_body_data">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- <parameter name="chunk" transfer-ownership="none">
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="wrote_chunk" c:identifier="soup_message_wrote_chunk">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="wrote_headers" c:identifier="soup_message_wrote_headers">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="wrote_informational"
- c:identifier="soup_message_wrote_informational">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </instance-parameter>
- </parameters>
- </method>
- <property name="first-party"
- version="2.30"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The #SoupURI loaded in the application when the message was
- queued.</doc>
- <type name="URI"/>
- </property>
- <property name="flags" writable="1" transfer-ownership="none">
- <type name="MessageFlags"/>
- </property>
- <property name="http-version" writable="1" transfer-ownership="none">
- <type name="HTTPVersion"/>
- </property>
- <property name="method" writable="1" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="priority" writable="1" transfer-ownership="none">
- <type name="MessagePriority"/>
- </property>
- <property name="reason-phrase" writable="1" transfer-ownership="none">
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="request-body" transfer-ownership="none">
- <type name="MessageBody"/>
- </property>
- <property name="request-body-data"
- version="2.46"
- transfer-ownership="none">
- <doc xml:space="preserve">The message's HTTP request body, as a #GBytes.</doc>
- <type name="GLib.Bytes"/>
- </property>
- <property name="request-headers" transfer-ownership="none">
- <type name="MessageHeaders"/>
- </property>
- <property name="response-body" transfer-ownership="none">
- <type name="MessageBody"/>
- </property>
- <property name="response-body-data"
- version="2.46"
- transfer-ownership="none">
- <doc xml:space="preserve">The message's HTTP response body, as a #GBytes.</doc>
- <type name="GLib.Bytes"/>
- </property>
- <property name="response-headers" transfer-ownership="none">
- <type name="MessageHeaders"/>
- </property>
- <property name="server-side"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="status-code" writable="1" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </property>
- <property name="tls-certificate"
- version="2.34"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The #GTlsCertificate associated with the message</doc>
- <type name="Gio.TlsCertificate"/>
- </property>
- <property name="tls-errors"
- version="2.34"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The verification errors on #SoupMessage:tls-certificate</doc>
- <type name="Gio.TlsCertificateFlags"/>
- </property>
- <property name="uri" writable="1" transfer-ownership="none">
- <type name="URI"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="method">
- <doc xml:space="preserve">the HTTP method</doc>
- <type name="utf8" c:type="const char*"/>
- </field>
- <field name="status_code">
- <doc xml:space="preserve">the HTTP status code</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="reason_phrase">
- <doc xml:space="preserve">the status phrase associated with @status_code</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="request_body">
- <doc xml:space="preserve">the request body</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </field>
- <field name="request_headers">
- <doc xml:space="preserve">the request headers</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </field>
- <field name="response_body">
- <doc xml:space="preserve">the response body</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </field>
- <field name="response_headers">
- <doc xml:space="preserve">the response headers</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </field>
- <glib:signal name="content-sniffed" when="first" version="2.28">
- <doc xml:space="preserve">This signal is emitted after #SoupMessage::got-headers, and
- before the first #SoupMessage::got-chunk. If content
- sniffing is disabled, or no content sniffing will be
- performed, due to the sniffer deciding to trust the
- Content-Type sent by the server, this signal is emitted
- immediately after #SoupMessage::got-headers, and @type is
- %NULL.
- If the #SoupContentSniffer feature is enabled, and the
- sniffer decided to perform sniffing, the first
- #SoupMessage::got-chunk emission may be delayed, so that the
- sniffer has enough data to correctly sniff the content. It
- notified the library user that the content has been
- sniffed, and allows it to change the header contents in the
- message, if desired.
- After this signal is emitted, the data that was spooled so
- that sniffing could be done is delivered on the first
- emission of #SoupMessage::got-chunk.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the content type that we got from sniffing</doc>
- <type name="utf8" c:type="gchar*"/>
- </parameter>
- <parameter name="params" transfer-ownership="none">
- <doc xml:space="preserve">a #GHashTable with the parameters</doc>
- <type name="GLib.HashTable">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="finished" when="first">
- <doc xml:space="preserve">Emitted when all HTTP processing is finished for a message.
- (After #SoupMessage::got_body for client-side messages, or
- after #SoupMessage::wrote_body for server-side messages.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="got-body" when="first">
- <doc xml:space="preserve">Emitted after receiving the complete message body. (For a
- server-side message, this means it has received the request
- body. For a client-side message, this means it has received
- the response body and is nearly done with the message.)
- See also soup_message_add_header_handler() and
- soup_message_add_status_code_handler(), which can be used
- to connect to a subset of emissions of this signal.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="got-chunk" when="first">
- <doc xml:space="preserve">Emitted after receiving a chunk of a message body. Note
- that "chunk" in this context means any subpiece of the
- body, not necessarily the specific HTTP 1.1 chunks sent by
- the other side.
- If you cancel or requeue @msg while processing this signal,
- then the current HTTP I/O will be stopped after this signal
- emission finished, and @msg's connection will be closed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="chunk" transfer-ownership="none">
- <doc xml:space="preserve">the just-read chunk</doc>
- <type name="Buffer"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="got-headers" when="first">
- <doc xml:space="preserve">Emitted after receiving all message headers for a message.
- (For a client-side message, this is after receiving the
- Status-Line and response headers; for a server-side
- message, it is after receiving the Request-Line and request
- headers.)
- See also soup_message_add_header_handler() and
- soup_message_add_status_code_handler(), which can be used
- to connect to a subset of emissions of this signal.
- If you cancel or requeue @msg while processing this signal,
- then the current HTTP I/O will be stopped after this signal
- emission finished, and @msg's connection will be closed.
- (If you need to requeue a message--eg, after handling
- authentication or redirection--it is usually better to
- requeue it from a #SoupMessage::got_body handler rather
- than a #SoupMessage::got_headers handler, so that the
- existing HTTP connection can be reused.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="got-informational" when="first">
- <doc xml:space="preserve">Emitted after receiving a 1xx (Informational) response for
- a (client-side) message. The response_headers will be
- filled in with the headers associated with the
- informational response; however, those header values will
- be erased after this signal is done.
- If you cancel or requeue @msg while processing this signal,
- then the current HTTP I/O will be stopped after this signal
- emission finished, and @msg's connection will be closed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="network-event" when="first" version="2.38">
- <doc xml:space="preserve">Emitted to indicate that some network-related event
- related to @msg has occurred. This essentially proxies the
- #GSocketClient::event signal, but only for events that
- occur while @msg "owns" the connection; if @msg is sent on
- an existing persistent connection, then this signal will
- not be emitted. (If you want to force the message to be
- sent on a new connection, set the
- %SOUP_MESSAGE_NEW_CONNECTION flag on it.)
- See #GSocketClient::event for more information on what
- the different values of @event correspond to, and what
- @connection will be in each case.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <doc xml:space="preserve">the network event</doc>
- <type name="Gio.SocketClientEvent"/>
- </parameter>
- <parameter name="connection" transfer-ownership="none">
- <doc xml:space="preserve">the current state of the network connection</doc>
- <type name="Gio.IOStream"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="restarted" when="first">
- <doc xml:space="preserve">Emitted when a request that was already sent once is now
- being sent again (eg, because the first attempt received a
- redirection response, or because we needed to use
- authentication).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="starting" when="first" version="2.50">
- <doc xml:space="preserve">Emitted just before a message is sent.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="wrote-body" when="first">
- <doc xml:space="preserve">Emitted immediately after writing the complete body for a
- message. (For a client-side message, this means that
- libsoup is done writing and is now waiting for the response
- from the server. For a server-side message, this means that
- libsoup has finished writing the response and is nearly
- done with the message.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="wrote-body-data" when="first" version="2.24">
- <doc xml:space="preserve">Emitted immediately after writing a portion of the message
- body to the network.
- Unlike #SoupMessage::wrote_chunk, this is emitted after
- every successful write() call, not only after finishing a
- complete "chunk".</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="chunk" transfer-ownership="none">
- <doc xml:space="preserve">the data written</doc>
- <type name="Buffer"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="wrote-chunk" when="first">
- <doc xml:space="preserve">Emitted immediately after writing a body chunk for a message.
- Note that this signal is not parallel to
- #SoupMessage::got_chunk; it is emitted only when a complete
- chunk (added with soup_message_body_append() or
- soup_message_body_append_buffer()) has been written. To get
- more useful continuous progress information, use
- #SoupMessage::wrote_body_data.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="wrote-headers" when="first">
- <doc xml:space="preserve">Emitted immediately after writing the headers for a
- message. (For a client-side message, this is after writing
- the request headers; for a server-side message, it is after
- writing the response headers.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="wrote-informational" when="first">
- <doc xml:space="preserve">Emitted immediately after writing a 1xx (Informational)
- response for a (server-side) message.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- </class>
- <record name="MessageBody"
- c:type="SoupMessageBody"
- glib:type-name="SoupMessageBody"
- glib:get-type="soup_message_body_get_type"
- c:symbol-prefix="message_body">
- <doc xml:space="preserve">A #SoupMessage request or response body.
- Note that while @length always reflects the full length of the
- message body, @data is normally %NULL, and will only be filled in
- after soup_message_body_flatten() is called. For client-side
- messages, this automatically happens for the response body after it
- has been fully read, unless you set the
- %SOUP_MESSAGE_OVERWRITE_CHUNKS flags. Likewise, for server-side
- messages, the request body is automatically filled in after being
- read.
- As an added bonus, when @data is filled in, it is always terminated
- with a '\0' byte (which is not reflected in @length).</doc>
- <field name="data" writable="1">
- <doc xml:space="preserve">the data</doc>
- <type name="utf8" c:type="const char*"/>
- </field>
- <field name="length" writable="1">
- <doc xml:space="preserve">length of @data</doc>
- <type name="gint64" c:type="goffset"/>
- </field>
- <constructor name="new" c:identifier="soup_message_body_new">
- <doc xml:space="preserve">Creates a new #SoupMessageBody. #SoupMessage uses this internally; you
- will not normally need to call it yourself.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupMessageBody.</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </return-value>
- </constructor>
- <method name="append"
- c:identifier="soup_message_body_append"
- shadowed-by="append_take">
- <doc xml:space="preserve">Appends @length bytes from @data to @body according to @use.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- <parameter name="use" transfer-ownership="none">
- <doc xml:space="preserve">how to use @data</doc>
- <type name="MemoryUse" c:type="SoupMemoryUse"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">data to append</doc>
- <array length="2" zero-terminated="0" c:type="gconstpointer">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @data</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- <method name="append_buffer"
- c:identifier="soup_message_body_append_buffer">
- <doc xml:space="preserve">Appends the data from @buffer to @body. (#SoupMessageBody uses
- #SoupBuffers internally, so this is normally a constant-time
- operation that doesn't actually require copying the data in
- @buffer.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- <parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupBuffer</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="append_take"
- c:identifier="soup_message_body_append_take"
- shadows="append"
- version="2.32">
- <doc xml:space="preserve">Appends @length bytes from @data to @body.
- This function is exactly equivalent to soup_message_body_append()
- with %SOUP_MEMORY_TAKE as second argument; it exists mainly for
- convenience and simplifying language bindings.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- <parameter name="data" transfer-ownership="full">
- <doc xml:space="preserve">data to append</doc>
- <array length="1" zero-terminated="0" c:type="guchar*">
- <type name="guint8" c:type="guchar"/>
- </array>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">length of @data</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- <method name="complete" c:identifier="soup_message_body_complete">
- <doc xml:space="preserve">Tags @body as being complete; Call this when using chunked encoding
- after you have appended the last chunk.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="flatten" c:identifier="soup_message_body_flatten">
- <doc xml:space="preserve">Fills in @body's data field with a buffer containing all of the
- data in @body (plus an additional '\0' byte not counted by @body's
- length field).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #SoupBuffer containing the same data as @body.
- (You must free this buffer if you do not want it.)</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="soup_message_body_free">
- <doc xml:space="preserve">Frees @body. You will not normally need to use this, as
- #SoupMessage frees its associated message bodies automatically.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_accumulate"
- c:identifier="soup_message_body_get_accumulate"
- version="2.24">
- <doc xml:space="preserve">Gets the accumulate flag on @body; see
- soup_message_body_set_accumulate() for details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the accumulate flag for @body.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_chunk" c:identifier="soup_message_body_get_chunk">
- <doc xml:space="preserve">Gets a #SoupBuffer containing data from @body starting at @offset.
- The size of the returned chunk is unspecified. You can iterate
- through the entire body by first calling
- soup_message_body_get_chunk() with an offset of 0, and then on each
- successive call, increment the offset by the length of the
- previously-returned chunk.
- If @offset is greater than or equal to the total length of @body,
- then the return value depends on whether or not
- soup_message_body_complete() has been called or not; if it has,
- then soup_message_body_get_chunk() will return a 0-length chunk
- (indicating the end of @body). If it has not, then
- soup_message_body_get_chunk() will return %NULL (indicating that
- @body may still potentially have more data, but that data is not
- currently available).</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a #SoupBuffer, or %NULL.</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- <parameter name="offset" transfer-ownership="none">
- <doc xml:space="preserve">an offset</doc>
- <type name="gint64" c:type="goffset"/>
- </parameter>
- </parameters>
- </method>
- <method name="got_chunk"
- c:identifier="soup_message_body_got_chunk"
- version="2.24">
- <doc xml:space="preserve">Handles the #SoupMessageBody part of receiving a chunk of data from
- the network. Normally this means appending @chunk to @body, exactly
- as with soup_message_body_append_buffer(), but if you have set
- @body's accumulate flag to %FALSE, then that will not happen.
- This is a low-level method which you should not normally need to
- use.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- <parameter name="chunk" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupBuffer received from the network</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_accumulate"
- c:identifier="soup_message_body_set_accumulate"
- version="2.24">
- <doc xml:space="preserve">Sets or clears the accumulate flag on @body. (The default value is
- %TRUE.) If set to %FALSE, @body's %data field will not be filled in
- after the body is fully sent/received, and the chunks that make up
- @body may be discarded when they are no longer needed.
- In particular, if you set this flag to %FALSE on an "incoming"
- message body (that is, the #SoupMessage:response_body of a
- client-side message, or #SoupMessage:request_body of a server-side
- message), this will cause each chunk of the body to be discarded
- after its corresponding #SoupMessage::got_chunk signal is emitted.
- (This is equivalent to setting the deprecated
- %SOUP_MESSAGE_OVERWRITE_CHUNKS flag on the message.)
- If you set this flag to %FALSE on the #SoupMessage:response_body of
- a server-side message, it will cause each chunk of the body to be
- discarded after its corresponding #SoupMessage::wrote_chunk signal
- is emitted.
- If you set the flag to %FALSE on the #SoupMessage:request_body of a
- client-side message, it will block the accumulation of chunks into
- @body's %data field, but it will not normally cause the chunks to
- be discarded after being written like in the server-side
- #SoupMessage:response_body case, because the request body needs to
- be kept around in case the request needs to be sent a second time
- due to redirection or authentication. However, if you set the
- %SOUP_MESSAGE_CAN_REBUILD flag on the message, then the chunks will
- be discarded, and you will be responsible for recreating the
- request body after the #SoupMessage::restarted signal is emitted.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- <parameter name="accumulate" transfer-ownership="none">
- <doc xml:space="preserve">whether or not to accumulate body chunks in @body</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="truncate" c:identifier="soup_message_body_truncate">
- <doc xml:space="preserve">Deletes all of the data in @body.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="wrote_chunk"
- c:identifier="soup_message_body_wrote_chunk"
- version="2.24">
- <doc xml:space="preserve">Handles the #SoupMessageBody part of writing a chunk of data to the
- network. Normally this is a no-op, but if you have set @body's
- accumulate flag to %FALSE, then this will cause @chunk to be
- discarded to free up memory.
- This is a low-level method which you should not need to use, and
- there are further restrictions on its proper use which are not
- documented here.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageBody</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </instance-parameter>
- <parameter name="chunk" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupBuffer returned from soup_message_body_get_chunk()</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <record name="MessageClass"
- c:type="SoupMessageClass"
- glib:is-gtype-struct-for="Message">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="wrote_informational">
- <callback name="wrote_informational">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="wrote_headers">
- <callback name="wrote_headers">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="wrote_chunk">
- <callback name="wrote_chunk">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="wrote_body">
- <callback name="wrote_body">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="got_informational">
- <callback name="got_informational">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="got_headers">
- <callback name="got_headers">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="got_chunk">
- <callback name="got_chunk">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="chunk" transfer-ownership="none">
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="got_body">
- <callback name="got_body">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="restarted">
- <callback name="restarted">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="finished">
- <callback name="finished">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="starting">
- <callback name="starting">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <bitfield name="MessageFlags"
- glib:type-name="SoupMessageFlags"
- glib:get-type="soup_message_flags_get_type"
- c:type="SoupMessageFlags">
- <doc xml:space="preserve">Various flags that can be set on a #SoupMessage to alter its
- behavior.</doc>
- <member name="no_redirect"
- value="2"
- c:identifier="SOUP_MESSAGE_NO_REDIRECT"
- glib:nick="no-redirect">
- <doc xml:space="preserve">The session should not follow redirect
- (3xx) responses received by this message.</doc>
- </member>
- <member name="can_rebuild"
- value="4"
- c:identifier="SOUP_MESSAGE_CAN_REBUILD"
- glib:nick="can-rebuild">
- <doc xml:space="preserve">The caller will rebuild the request
- body if the message is restarted; see
- soup_message_body_set_accumulate() for more details.</doc>
- </member>
- <member name="overwrite_chunks"
- value="8"
- c:identifier="SOUP_MESSAGE_OVERWRITE_CHUNKS"
- glib:nick="overwrite-chunks">
- <doc xml:space="preserve">Deprecated: equivalent to calling
- soup_message_body_set_accumulate() on the incoming message body
- (ie, #SoupMessage:response_body for a client-side request),
- passing %FALSE.</doc>
- </member>
- <member name="content_decoded"
- value="16"
- c:identifier="SOUP_MESSAGE_CONTENT_DECODED"
- glib:nick="content-decoded">
- <doc xml:space="preserve">Set by #SoupContentDecoder to
- indicate that it has removed the Content-Encoding on a message (and
- so headers such as Content-Length may no longer accurately describe
- the body).</doc>
- </member>
- <member name="certificate_trusted"
- value="32"
- c:identifier="SOUP_MESSAGE_CERTIFICATE_TRUSTED"
- glib:nick="certificate-trusted">
- <doc xml:space="preserve">if set after an https response
- has been received, indicates that the server's SSL certificate is
- trusted according to the session's CA.</doc>
- </member>
- <member name="new_connection"
- value="64"
- c:identifier="SOUP_MESSAGE_NEW_CONNECTION"
- glib:nick="new-connection">
- <doc xml:space="preserve">Requests that the message should be
- sent on a newly-created connection, not reusing an existing
- persistent connection. Note that messages with non-idempotent
- #SoupMessage:method<!-- -->s behave this way by default, unless
- #SOUP_MESSAGE_IDEMPOTENT is set.</doc>
- </member>
- <member name="idempotent"
- value="128"
- c:identifier="SOUP_MESSAGE_IDEMPOTENT"
- glib:nick="idempotent">
- <doc xml:space="preserve">The message is considered idempotent,
- regardless its #SoupMessage:method, and allows reuse of existing
- idle connections, instead of always requiring a new one, unless
- #SOUP_MESSAGE_NEW_CONNECTION is set.</doc>
- </member>
- <member name="ignore_connection_limits"
- value="256"
- c:identifier="SOUP_MESSAGE_IGNORE_CONNECTION_LIMITS"
- glib:nick="ignore-connection-limits">
- <doc xml:space="preserve">Request that a new connection is
- created for the message if there aren't idle connections available
- and it's not possible to create new connections due to any of the
- connection limits has been reached. If a dedicated connection is
- eventually created for this message, it will be dropped when the
- message finishes. Since 2.50</doc>
- </member>
- </bitfield>
- <record name="MessageHeaders"
- c:type="SoupMessageHeaders"
- glib:type-name="SoupMessageHeaders"
- glib:get-type="soup_message_headers_get_type"
- c:symbol-prefix="message_headers">
- <doc xml:space="preserve">The HTTP message headers associated with a request or response.</doc>
- <constructor name="new" c:identifier="soup_message_headers_new">
- <doc xml:space="preserve">Creates a #SoupMessageHeaders. (#SoupMessage does this
- automatically for its own headers. You would only need to use this
- method if you are manually parsing or generating message headers.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the type of headers</doc>
- <type name="MessageHeadersType" c:type="SoupMessageHeadersType"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="append" c:identifier="soup_message_headers_append">
- <doc xml:space="preserve">Appends a new header with name @name and value @value to @hdrs. (If
- there is an existing header with name @name, then this creates a
- second one, which is only allowed for list-valued headers; see also
- soup_message_headers_replace().)
- The caller is expected to make sure that @name and @value are
- syntactically correct.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the header name to add</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the new value of @name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="clean_connection_headers"
- c:identifier="soup_message_headers_clean_connection_headers"
- version="2.36">
- <doc xml:space="preserve">Removes all the headers listed in the Connection header.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="clear" c:identifier="soup_message_headers_clear">
- <doc xml:space="preserve">Clears @hdrs.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="foreach" c:identifier="soup_message_headers_foreach">
- <doc xml:space="preserve">Calls @func once for each header value in @hdrs.
- Beware that unlike soup_message_headers_get(), this processes the
- headers in exactly the way they were added, rather than
- concatenating multiple same-named headers into a single value.
- (This is intentional; it ensures that if you call
- soup_message_headers_append() multiple times with the same name,
- then the I/O code will output multiple copies of the header when
- sending the message to the remote implementation, which may be
- required for interoperability in some cases.)
- You may not modify the headers from @func.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="func"
- transfer-ownership="none"
- scope="call"
- closure="1">
- <doc xml:space="preserve">callback function to run for each header</doc>
- <type name="MessageHeadersForeachFunc"
- c:type="SoupMessageHeadersForeachFunc"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @func</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="soup_message_headers_free">
- <doc xml:space="preserve">Frees @hdrs.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="free_ranges"
- c:identifier="soup_message_headers_free_ranges"
- version="2.26">
- <doc xml:space="preserve">Frees the array of ranges returned from soup_message_headers_get_ranges().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="ranges" transfer-ownership="none">
- <doc xml:space="preserve">an array of #SoupRange</doc>
- <type name="Range" c:type="SoupRange*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get"
- c:identifier="soup_message_headers_get"
- deprecated="1">
- <doc xml:space="preserve">Gets the value of header @name in @hdrs.
- This method was supposed to work correctly for both single-valued
- and list-valued headers, but because some HTTP clients/servers
- mistakenly send multiple copies of headers that are supposed to be
- single-valued, it sometimes returns incorrect results. To fix this,
- the methods soup_message_headers_get_one() and
- soup_message_headers_get_list() were introduced, so callers can
- explicitly state which behavior they are expecting.</doc>
- <doc-deprecated xml:space="preserve">Use soup_message_headers_get_one() or
- soup_message_headers_get_list() instead.</doc-deprecated>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">as with soup_message_headers_get_list().</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">header name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_content_disposition"
- c:identifier="soup_message_headers_get_content_disposition"
- version="2.26">
- <doc xml:space="preserve">Looks up the "Content-Disposition" header in @hdrs, parses it, and
- returns its value in *@disposition and *@params. @params can be
- %NULL if you are only interested in the disposition-type.
- In HTTP, the most common use of this header is to set a
- disposition-type of "attachment", to suggest to the browser that a
- response should be saved to disk rather than displayed in the
- browser. If @params contains a "filename" parameter, this is a
- suggestion of a filename to use. (If the parameter value in the
- header contains an absolute or relative path, libsoup will truncate
- it down to just the final path component, so you do not need to
- test this yourself.)
- Content-Disposition is also used in "multipart/form-data", however
- this is handled automatically by #SoupMultipart and the associated
- form methods.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @hdrs contains a "Content-Disposition"
- header, %FALSE if not (in which case *@disposition and *@params
- will be unchanged).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="disposition"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">return location for the
- disposition-type, or %NULL</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- <parameter name="params"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">return
- location for the Content-Disposition parameters, or %NULL</doc>
- <type name="GLib.HashTable" c:type="GHashTable**">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </method>
- <method name="get_content_length"
- c:identifier="soup_message_headers_get_content_length">
- <doc xml:space="preserve">Gets the message body length that @hdrs declare. This will only
- be non-0 if soup_message_headers_get_encoding() returns
- %SOUP_ENCODING_CONTENT_LENGTH.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the message body length declared by @hdrs.</doc>
- <type name="gint64" c:type="goffset"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_content_range"
- c:identifier="soup_message_headers_get_content_range"
- version="2.26">
- <doc xml:space="preserve">Parses @hdrs's Content-Range header and returns it in @start,
- @end, and @total_length. If the total length field in the header
- was specified as "*", then @total_length will be set to -1.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @hdrs contained a "Content-Range" header
- containing a byte range which could be parsed, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">return value for the start of the range</doc>
- <type name="gint64" c:type="goffset*"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">return value for the end of the range</doc>
- <type name="gint64" c:type="goffset*"/>
- </parameter>
- <parameter name="total_length" transfer-ownership="none">
- <doc xml:space="preserve">return value for the total length of the resource,
- or %NULL if you don't care.</doc>
- <type name="gint64" c:type="goffset*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_content_type"
- c:identifier="soup_message_headers_get_content_type"
- version="2.26">
- <doc xml:space="preserve">Looks up the "Content-Type" header in @hdrs, parses it, and returns
- its value in *@content_type and *@params. @params can be %NULL if you
- are only interested in the content type itself.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">a string with the value of the
- "Content-Type" header or %NULL if @hdrs does not contain that
- header or it cannot be parsed (in which case *@params will be
- unchanged).</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="params"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">
- return location for the Content-Type parameters (eg, "charset"), or
- %NULL</doc>
- <type name="GLib.HashTable" c:type="GHashTable**">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </method>
- <method name="get_encoding"
- c:identifier="soup_message_headers_get_encoding">
- <doc xml:space="preserve">Gets the message body encoding that @hdrs declare. This may not
- always correspond to the encoding used on the wire; eg, a HEAD
- response may declare a Content-Length or Transfer-Encoding, but
- it will never actually include a body.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the encoding declared by @hdrs.</doc>
- <type name="Encoding" c:type="SoupEncoding"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_expectations"
- c:identifier="soup_message_headers_get_expectations">
- <doc xml:space="preserve">Gets the expectations declared by @hdrs's "Expect" header.
- Currently this will either be %SOUP_EXPECTATION_CONTINUE or
- %SOUP_EXPECTATION_UNRECOGNIZED.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the contents of @hdrs's "Expect" header</doc>
- <type name="Expectation" c:type="SoupExpectation"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_headers_type"
- c:identifier="soup_message_headers_get_headers_type"
- version="2.50">
- <doc xml:space="preserve">Gets the type of headers.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the header's type.</doc>
- <type name="MessageHeadersType" c:type="SoupMessageHeadersType"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_list"
- c:identifier="soup_message_headers_get_list"
- version="2.28">
- <doc xml:space="preserve">Gets the value of header @name in @hdrs. Use this for headers whose
- values are comma-delimited lists, and which are therefore allowed
- to appear multiple times in the headers. For non-list-valued
- headers, use soup_message_headers_get_one().
- If @name appears multiple times in @hdrs,
- soup_message_headers_get_list() will concatenate all of the values
- together, separated by commas. This is sometimes awkward to parse
- (eg, WWW-Authenticate, Set-Cookie), but you have to be able to deal
- with it anyway, because the HTTP spec explicitly states that this
- transformation is allowed, and so an upstream proxy could do the
- same thing.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the header's value or %NULL if not found.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">header name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_one"
- c:identifier="soup_message_headers_get_one"
- version="2.28">
- <doc xml:space="preserve">Gets the value of header @name in @hdrs. Use this for headers whose
- values are <emphasis>not</emphasis> comma-delimited lists, and
- which therefore can only appear at most once in the headers. For
- list-valued headers, use soup_message_headers_get_list().
- If @hdrs does erroneously contain multiple copies of the header, it
- is not defined which one will be returned. (Ideally, it will return
- whichever one makes libsoup most compatible with other HTTP
- implementations.)</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the header's value or %NULL if not found.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">header name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_ranges"
- c:identifier="soup_message_headers_get_ranges"
- version="2.26">
- <doc xml:space="preserve">Parses @hdrs's Range header and returns an array of the requested
- byte ranges. The returned array must be freed with
- soup_message_headers_free_ranges().
- If @total_length is non-0, its value will be used to adjust the
- returned ranges to have explicit start and end values, and the
- returned ranges will be sorted and non-overlapping. If
- @total_length is 0, then some ranges may have an end value of -1,
- as described under #SoupRange, and some of the ranges may be
- redundant.
- Beware that even if given a @total_length, this function does not
- check that the ranges are satisfiable.
- <note><para>
- #SoupServer has built-in handling for range requests. If your
- server handler returns a %SOUP_STATUS_OK response containing the
- complete response body (rather than pausing the message and
- returning some of the response body later), and there is a Range
- header in the request, then libsoup will automatically convert the
- response to a %SOUP_STATUS_PARTIAL_CONTENT response containing only
- the range(s) requested by the client.
- The only time you need to process the Range header yourself is if
- either you need to stream the response body rather than returning
- it all at once, or you do not already have the complete response
- body available, and only want to generate the parts that were
- actually requested by the client.
- </para></note></doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @hdrs contained a syntactically-valid
- "Range" header, %FALSE otherwise (in which case @range and @length
- will not be set).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="total_length" transfer-ownership="none">
- <doc xml:space="preserve">the total_length of the response body</doc>
- <type name="gint64" c:type="goffset"/>
- </parameter>
- <parameter name="ranges"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">return location for an array
- of #SoupRange</doc>
- <array length="2" zero-terminated="0" c:type="SoupRange**">
- <type name="Range" c:type="SoupRange*"/>
- </array>
- </parameter>
- <parameter name="length"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">the length of the returned array</doc>
- <type name="gint" c:type="int*"/>
- </parameter>
- </parameters>
- </method>
- <method name="header_contains"
- c:identifier="soup_message_headers_header_contains"
- version="2.50">
- <doc xml:space="preserve">Checks whether the list-valued header @name is present in @hdrs,
- and contains a case-insensitive match for @token.
- (If @name is present in @hdrs, then this is equivalent to calling
- soup_header_contains() on its value.)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the header is present and contains @token,
- %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">header name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="token" transfer-ownership="none">
- <doc xml:space="preserve">token to look for</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="header_equals"
- c:identifier="soup_message_headers_header_equals"
- version="2.50">
- <doc xml:space="preserve">Checks whether the header @name is present in @hdrs and is
- (case-insensitively) equal to @value.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if the header is present and its value is
- @value, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">header name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">expected value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove" c:identifier="soup_message_headers_remove">
- <doc xml:space="preserve">Removes @name from @hdrs. If there are multiple values for @name,
- they are all removed.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the header name to remove</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="replace" c:identifier="soup_message_headers_replace">
- <doc xml:space="preserve">Replaces the value of the header @name in @hdrs with @value. (See
- also soup_message_headers_append().)
- The caller is expected to make sure that @name and @value are
- syntactically correct.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the header name to replace</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the new value of @name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_content_disposition"
- c:identifier="soup_message_headers_set_content_disposition"
- version="2.26">
- <doc xml:space="preserve">Sets the "Content-Disposition" header in @hdrs to @disposition,
- optionally with additional parameters specified in @params.
- See soup_message_headers_get_content_disposition() for a discussion
- of how Content-Disposition is used in HTTP.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="disposition" transfer-ownership="none">
- <doc xml:space="preserve">the disposition-type</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="params"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional
- parameters, or %NULL</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </method>
- <method name="set_content_length"
- c:identifier="soup_message_headers_set_content_length">
- <doc xml:space="preserve">Sets the message body length that @hdrs will declare, and sets
- @hdrs's encoding to %SOUP_ENCODING_CONTENT_LENGTH.
- You do not normally need to call this; if @hdrs is set to use
- Content-Length encoding, libsoup will automatically set its
- Content-Length header for you immediately before sending the
- headers. One situation in which this method is useful is when
- generating the response to a HEAD request; Calling
- soup_message_headers_set_content_length() allows you to put the
- correct content length into the response without needing to waste
- memory by filling in a response body which won't actually be sent.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="content_length" transfer-ownership="none">
- <doc xml:space="preserve">the message body length</doc>
- <type name="gint64" c:type="goffset"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_content_range"
- c:identifier="soup_message_headers_set_content_range"
- version="2.26">
- <doc xml:space="preserve">Sets @hdrs's Content-Range header according to the given values.
- (Note that @total_length is the total length of the entire resource
- that this is a range of, not simply @end - @start + 1.)
- <note><para>
- #SoupServer has built-in handling for range requests, and you do
- not normally need to call this function youself. See
- soup_message_headers_get_ranges() for more details.
- </para></note></doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">the start of the range</doc>
- <type name="gint64" c:type="goffset"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">the end of the range</doc>
- <type name="gint64" c:type="goffset"/>
- </parameter>
- <parameter name="total_length" transfer-ownership="none">
- <doc xml:space="preserve">the total length of the resource, or -1 if unknown</doc>
- <type name="gint64" c:type="goffset"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_content_type"
- c:identifier="soup_message_headers_set_content_type"
- version="2.26">
- <doc xml:space="preserve">Sets the "Content-Type" header in @hdrs to @content_type,
- optionally with additional parameters specified in @params.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="content_type" transfer-ownership="none">
- <doc xml:space="preserve">the MIME type</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="params"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional
- parameters, or %NULL</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </method>
- <method name="set_encoding"
- c:identifier="soup_message_headers_set_encoding">
- <doc xml:space="preserve">Sets the message body encoding that @hdrs will declare. In particular,
- you should use this if you are going to send a request or response in
- chunked encoding.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="encoding" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupEncoding</doc>
- <type name="Encoding" c:type="SoupEncoding"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_expectations"
- c:identifier="soup_message_headers_set_expectations">
- <doc xml:space="preserve">Sets @hdrs's "Expect" header according to @expectations.
- Currently %SOUP_EXPECTATION_CONTINUE is the only known expectation
- value. You should set this value on a request if you are sending a
- large message body (eg, via POST or PUT), and want to give the
- server a chance to reject the request after seeing just the headers
- (eg, because it will require authentication before allowing you to
- post, or because you're POSTing to a URL that doesn't exist). This
- saves you from having to transmit the large request body when the
- server is just going to ignore it anyway.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="expectations" transfer-ownership="none">
- <doc xml:space="preserve">the expectations to set</doc>
- <type name="Expectation" c:type="SoupExpectation"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_range"
- c:identifier="soup_message_headers_set_range"
- version="2.26">
- <doc xml:space="preserve">Sets @hdrs's Range header to request the indicated range.
- @start and @end are interpreted as in a #SoupRange.
- If you need to request multiple ranges, use
- soup_message_headers_set_ranges().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="start" transfer-ownership="none">
- <doc xml:space="preserve">the start of the range to request</doc>
- <type name="gint64" c:type="goffset"/>
- </parameter>
- <parameter name="end" transfer-ownership="none">
- <doc xml:space="preserve">the end of the range to request</doc>
- <type name="gint64" c:type="goffset"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_ranges"
- c:identifier="soup_message_headers_set_ranges"
- version="2.26">
- <doc xml:space="preserve">Sets @hdrs's Range header to request the indicated ranges. (If you
- only want to request a single range, you can use
- soup_message_headers_set_range().)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </instance-parameter>
- <parameter name="ranges" transfer-ownership="none">
- <doc xml:space="preserve">an array of #SoupRange</doc>
- <type name="Range" c:type="SoupRange*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length of @range</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <callback name="MessageHeadersForeachFunc"
- c:type="SoupMessageHeadersForeachFunc">
- <doc xml:space="preserve">The callback passed to soup_message_headers_foreach().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">the header name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the header value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">the data passed to soup_message_headers_foreach()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="MessageHeadersIter" c:type="SoupMessageHeadersIter">
- <doc xml:space="preserve">An opaque type used to iterate over a %SoupMessageHeaders
- structure.
- After intializing the iterator with
- soup_message_headers_iter_init(), call
- soup_message_headers_iter_next() to fetch data from it.
- You may not modify the headers while iterating over them.</doc>
- <field name="dummy" readable="0" private="1">
- <array zero-terminated="0" c:type="gpointer" fixed-size="3">
- <type name="gpointer" c:type="gpointer"/>
- </array>
- </field>
- <method name="next" c:identifier="soup_message_headers_iter_next">
- <doc xml:space="preserve">Yields the next name/value pair in the %SoupMessageHeaders being
- iterated by @iter. If @iter has already yielded the last header,
- then soup_message_headers_iter_next() will return %FALSE and @name
- and @value will be unchanged.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if another name and value were returned, %FALSE
- if the end of the headers has been reached.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="iter"
- direction="inout"
- caller-allocates="0"
- transfer-ownership="none">
- <doc xml:space="preserve">a %SoupMessageHeadersIter</doc>
- <type name="MessageHeadersIter" c:type="SoupMessageHeadersIter*"/>
- </instance-parameter>
- <parameter name="name"
- direction="out"
- caller-allocates="0"
- transfer-ownership="none">
- <doc xml:space="preserve">pointer to a variable to return
- the header name in</doc>
- <type name="utf8" c:type="const char**"/>
- </parameter>
- <parameter name="value"
- direction="out"
- caller-allocates="0"
- transfer-ownership="none">
- <doc xml:space="preserve">pointer to a variable to return
- the header value in</doc>
- <type name="utf8" c:type="const char**"/>
- </parameter>
- </parameters>
- </method>
- <function name="init" c:identifier="soup_message_headers_iter_init">
- <doc xml:space="preserve">Initializes @iter for iterating @hdrs.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="iter"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a pointer to a %SoupMessageHeadersIter
- structure</doc>
- <type name="MessageHeadersIter" c:type="SoupMessageHeadersIter*"/>
- </parameter>
- <parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a %SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <enumeration name="MessageHeadersType"
- glib:type-name="SoupMessageHeadersType"
- glib:get-type="soup_message_headers_type_get_type"
- c:type="SoupMessageHeadersType">
- <doc xml:space="preserve">Value passed to soup_message_headers_new() to set certain default
- behaviors.</doc>
- <member name="request"
- value="0"
- c:identifier="SOUP_MESSAGE_HEADERS_REQUEST"
- glib:nick="request">
- <doc xml:space="preserve">request headers</doc>
- </member>
- <member name="response"
- value="1"
- c:identifier="SOUP_MESSAGE_HEADERS_RESPONSE"
- glib:nick="response">
- <doc xml:space="preserve">response headers</doc>
- </member>
- <member name="multipart"
- value="2"
- c:identifier="SOUP_MESSAGE_HEADERS_MULTIPART"
- glib:nick="multipart">
- <doc xml:space="preserve">multipart body part headers</doc>
- </member>
- </enumeration>
- <enumeration name="MessagePriority"
- glib:type-name="SoupMessagePriority"
- glib:get-type="soup_message_priority_get_type"
- c:type="SoupMessagePriority">
- <doc xml:space="preserve">Priorities that can be set on a #SoupMessage to instruct the
- message queue to process it before any other message with lower
- priority.</doc>
- <member name="very_low"
- value="0"
- c:identifier="SOUP_MESSAGE_PRIORITY_VERY_LOW"
- glib:nick="very-low">
- <doc xml:space="preserve">The lowest priority, the messages
- with this priority will be the last ones to be attended.</doc>
- </member>
- <member name="low"
- value="1"
- c:identifier="SOUP_MESSAGE_PRIORITY_LOW"
- glib:nick="low">
- <doc xml:space="preserve">Use this for low priority messages, a
- #SoupMessage with the default priority will be processed first.</doc>
- </member>
- <member name="normal"
- value="2"
- c:identifier="SOUP_MESSAGE_PRIORITY_NORMAL"
- glib:nick="normal">
- <doc xml:space="preserve">The default priotity, this is the
- priority assigned to the #SoupMessage by default.</doc>
- </member>
- <member name="high"
- value="3"
- c:identifier="SOUP_MESSAGE_PRIORITY_HIGH"
- glib:nick="high">
- <doc xml:space="preserve">High priority, a #SoupMessage with
- this priority will be processed before the ones with the default
- priority.</doc>
- </member>
- <member name="very_high"
- value="4"
- c:identifier="SOUP_MESSAGE_PRIORITY_VERY_HIGH"
- glib:nick="very-high">
- <doc xml:space="preserve">The highest priority, use this
- for very urgent #SoupMessage as they will be the first ones to be
- attended.</doc>
- </member>
- </enumeration>
- <record name="MessageQueue" c:type="SoupMessageQueue" disguised="1">
- </record>
- <record name="MessageQueueItem"
- c:type="SoupMessageQueueItem"
- disguised="1">
- </record>
- <record name="Multipart"
- c:type="SoupMultipart"
- version="2.26"
- glib:type-name="SoupMultipart"
- glib:get-type="soup_multipart_get_type"
- c:symbol-prefix="multipart">
- <doc xml:space="preserve">Represents a multipart HTTP message body, parsed according to the
- syntax of RFC 2046. Of particular interest to HTTP are
- <literal>multipart/byte-ranges</literal> and
- <literal>multipart/form-data</literal>.
- Although the headers of a #SoupMultipart body part will contain the
- full headers from that body part, libsoup does not interpret them
- according to MIME rules. For example, each body part is assumed to
- have "binary" Content-Transfer-Encoding, even if its headers
- explicitly state otherwise. In other words, don't try to use
- #SoupMultipart for handling real MIME multiparts.</doc>
- <constructor name="new" c:identifier="soup_multipart_new" version="2.26">
- <doc xml:space="preserve">Creates a new empty #SoupMultipart with a randomly-generated
- boundary string. Note that @mime_type must be the full MIME type,
- including "multipart/".</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new empty #SoupMultipart of the given @mime_type</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </return-value>
- <parameters>
- <parameter name="mime_type" transfer-ownership="none">
- <doc xml:space="preserve">the MIME type of the multipart to create.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </constructor>
- <constructor name="new_from_message"
- c:identifier="soup_multipart_new_from_message"
- version="2.26">
- <doc xml:space="preserve">Parses @headers and @body to form a new #SoupMultipart</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a new #SoupMultipart (or %NULL if the
- message couldn't be parsed or wasn't multipart).</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </return-value>
- <parameters>
- <parameter name="headers" transfer-ownership="none">
- <doc xml:space="preserve">the headers of the HTTP message to parse</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </parameter>
- <parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">the body of the HTTP message to parse</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="append_form_file"
- c:identifier="soup_multipart_append_form_file"
- version="2.26">
- <doc xml:space="preserve">Adds a new MIME part containing @body to @multipart, using
- "Content-Disposition: form-data", as per the HTML forms
- specification. See soup_form_request_new_from_multipart() for more
- details.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a multipart (presumably of type "multipart/form-data")</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </instance-parameter>
- <parameter name="control_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the control associated with this file</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="filename" transfer-ownership="none">
- <doc xml:space="preserve">the name of the file, or %NULL if not known</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="content_type" transfer-ownership="none">
- <doc xml:space="preserve">the MIME type of the file, or %NULL if not known</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">the file data</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="append_form_string"
- c:identifier="soup_multipart_append_form_string"
- version="2.26">
- <doc xml:space="preserve">Adds a new MIME part containing @data to @multipart, using
- "Content-Disposition: form-data", as per the HTML forms
- specification. See soup_form_request_new_from_multipart() for more
- details.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a multipart (presumably of type "multipart/form-data")</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </instance-parameter>
- <parameter name="control_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the control associated with @data</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">the body data</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="append_part"
- c:identifier="soup_multipart_append_part"
- version="2.26">
- <doc xml:space="preserve">Adds a new MIME part to @multipart with the given headers and body.
- (The multipart will make its own copies of @headers and @body, so
- you should free your copies if you are not using them for anything
- else.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMultipart</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </instance-parameter>
- <parameter name="headers" transfer-ownership="none">
- <doc xml:space="preserve">the MIME part headers</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </parameter>
- <parameter name="body" transfer-ownership="none">
- <doc xml:space="preserve">the MIME part body</doc>
- <type name="Buffer" c:type="SoupBuffer*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="soup_multipart_free" version="2.26">
- <doc xml:space="preserve">Frees @multipart</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMultipart</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_length"
- c:identifier="soup_multipart_get_length"
- version="2.26">
- <doc xml:space="preserve">Gets the number of body parts in @multipart</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the number of body parts in @multipart</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMultipart</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_part"
- c:identifier="soup_multipart_get_part"
- version="2.26">
- <doc xml:space="preserve">Gets the indicated body part from @multipart.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE on success, %FALSE if @part is out of range (in
- which case @headers and @body won't be set)</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMultipart</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </instance-parameter>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">the part number to get (counting from 0)</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="headers"
- direction="out"
- caller-allocates="0"
- transfer-ownership="none">
- <doc xml:space="preserve">return location for the MIME part
- headers</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders**"/>
- </parameter>
- <parameter name="body"
- direction="out"
- caller-allocates="0"
- transfer-ownership="none">
- <doc xml:space="preserve">return location for the MIME part
- body</doc>
- <type name="Buffer" c:type="SoupBuffer**"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_message"
- c:identifier="soup_multipart_to_message"
- version="2.26">
- <doc xml:space="preserve">Serializes @multipart to @dest_headers and @dest_body.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMultipart</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </instance-parameter>
- <parameter name="dest_headers" transfer-ownership="none">
- <doc xml:space="preserve">the headers of the HTTP message to serialize @multipart to</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </parameter>
- <parameter name="dest_body" transfer-ownership="none">
- <doc xml:space="preserve">the body of the HTTP message to serialize @multipart to</doc>
- <type name="MessageBody" c:type="SoupMessageBody*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <class name="MultipartInputStream"
- c:symbol-prefix="multipart_input_stream"
- c:type="SoupMultipartInputStream"
- parent="Gio.FilterInputStream"
- glib:type-name="SoupMultipartInputStream"
- glib:get-type="soup_multipart_input_stream_get_type"
- glib:type-struct="MultipartInputStreamClass">
- <implements name="Gio.PollableInputStream"/>
- <constructor name="new"
- c:identifier="soup_multipart_input_stream_new"
- version="2.40">
- <doc xml:space="preserve">Creates a new #SoupMultipartInputStream that wraps the
- #GInputStream obtained by sending the #SoupRequest. Reads should
- not be done directly through this object, use the input streams
- returned by soup_multipart_input_stream_next_part() or its async
- counterpart instead.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupMultipartInputStream</doc>
- <type name="MultipartInputStream"
- c:type="SoupMultipartInputStream*"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage the response is related to.</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="base_stream" transfer-ownership="none">
- <doc xml:space="preserve">the #GInputStream returned by sending the request.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="get_headers"
- c:identifier="soup_multipart_input_stream_get_headers"
- version="2.40">
- <doc xml:space="preserve">Obtains the headers for the part currently being processed. Note
- that the #SoupMessageHeaders that are returned are owned by the
- #SoupMultipartInputStream and will be replaced when a call is made
- to soup_multipart_input_stream_next_part() or its async
- counterpart, so if keeping the headers is required, a copy must be
- made.
- Note that if a part had no headers at all an empty #SoupMessageHeaders
- will be returned.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">a #SoupMessageHeaders
- containing the headers for the part currently being processed or
- %NULL if the headers failed to parse.</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMultipartInputStream.</doc>
- <type name="MultipartInputStream"
- c:type="SoupMultipartInputStream*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="next_part"
- c:identifier="soup_multipart_input_stream_next_part"
- version="2.40"
- throws="1">
- <doc xml:space="preserve">Obtains an input stream for the next part. When dealing with a
- multipart response the input stream needs to be wrapped in a
- #SoupMultipartInputStream and this function or its async
- counterpart need to be called to obtain the first part for
- reading.
- After calling this function,
- soup_multipart_input_stream_get_headers() can be used to obtain the
- headers for the first part. A read of 0 bytes indicates the end of
- the part; a new call to this function should be done at that point,
- to obtain the next part.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a new #GInputStream, or
- %NULL if there are no more parts</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMultipartInputStream</doc>
- <type name="MultipartInputStream"
- c:type="SoupMultipartInputStream*"/>
- </instance-parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <method name="next_part_async"
- c:identifier="soup_multipart_input_stream_next_part_async"
- version="2.40">
- <doc xml:space="preserve">Obtains a #GInputStream for the next request. See
- soup_multipart_input_stream_next_part() for details on the
- workflow.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMultipartInputStream.</doc>
- <type name="MultipartInputStream"
- c:type="SoupMultipartInputStream*"/>
- </instance-parameter>
- <parameter name="io_priority" transfer-ownership="none">
- <doc xml:space="preserve">the I/O priority for the request.</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable.</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="3">
- <doc xml:space="preserve">callback to call when request is satisfied.</doc>
- <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="next_part_finish"
- c:identifier="soup_multipart_input_stream_next_part_finish"
- version="2.40"
- throws="1">
- <doc xml:space="preserve">Finishes an asynchronous request for the next part.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a newly created
- #GInputStream for reading the next part or %NULL if there are no
- more parts.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMultipartInputStream.</doc>
- <type name="MultipartInputStream"
- c:type="SoupMultipartInputStream*"/>
- </instance-parameter>
- <parameter name="result" transfer-ownership="none">
- <doc xml:space="preserve">a #GAsyncResult.</doc>
- <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
- </parameter>
- </parameters>
- </method>
- <property name="message"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="Message"/>
- </property>
- <field name="parent_instance">
- <type name="Gio.FilterInputStream" c:type="GFilterInputStream"/>
- </field>
- <field name="priv" readable="0" private="1">
- <type name="MultipartInputStreamPrivate"
- c:type="SoupMultipartInputStreamPrivate*"/>
- </field>
- </class>
- <record name="MultipartInputStreamClass"
- c:type="SoupMultipartInputStreamClass"
- glib:is-gtype-struct-for="MultipartInputStream">
- <field name="parent_class">
- <type name="Gio.FilterInputStreamClass"
- c:type="GFilterInputStreamClass"/>
- </field>
- </record>
- <record name="MultipartInputStreamPrivate"
- c:type="SoupMultipartInputStreamPrivate"
- disguised="1">
- </record>
- <constant name="PASSWORD_MANAGER_H"
- value="1"
- c:type="SOUP_PASSWORD_MANAGER_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="PROXY_RESOLVER_DEFAULT_H"
- value="1"
- c:type="SOUP_PROXY_RESOLVER_DEFAULT_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="PROXY_URI_RESOLVER_H"
- value="1"
- c:type="SOUP_PROXY_URI_RESOLVER_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <interface name="PasswordManager"
- c:symbol-prefix="password_manager"
- c:type="SoupPasswordManager"
- glib:type-name="SoupPasswordManager"
- glib:get-type="soup_password_manager_get_type"
- glib:type-struct="PasswordManagerInterface">
- <prerequisite name="SessionFeature"/>
- <virtual-method name="get_passwords_async" invoker="get_passwords_async">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="password_manager"
- transfer-ownership="none">
- <type name="PasswordManager" c:type="SoupPasswordManager*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="async_context" transfer-ownership="none">
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="async"
- closure="6">
- <type name="PasswordManagerCallback"
- c:type="SoupPasswordManagerCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="6">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_passwords_sync" invoker="get_passwords_sync">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="password_manager"
- transfer-ownership="none">
- <type name="PasswordManager" c:type="SoupPasswordManager*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_passwords_async"
- c:identifier="soup_password_manager_get_passwords_async">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="password_manager"
- transfer-ownership="none">
- <type name="PasswordManager" c:type="SoupPasswordManager*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="async_context" transfer-ownership="none">
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="async"
- closure="6">
- <type name="PasswordManagerCallback"
- c:type="SoupPasswordManagerCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_passwords_sync"
- c:identifier="soup_password_manager_get_passwords_sync">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="password_manager"
- transfer-ownership="none">
- <type name="PasswordManager" c:type="SoupPasswordManager*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- </interface>
- <callback name="PasswordManagerCallback"
- c:type="SoupPasswordManagerCallback">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="password_manager" transfer-ownership="none">
- <type name="PasswordManager" c:type="SoupPasswordManager*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="4">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="PasswordManagerInterface"
- c:type="SoupPasswordManagerInterface"
- glib:is-gtype-struct-for="PasswordManager">
- <field name="base">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="get_passwords_async">
- <callback name="get_passwords_async">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="password_manager" transfer-ownership="none">
- <type name="PasswordManager" c:type="SoupPasswordManager*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- <parameter name="async_context" transfer-ownership="none">
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="async"
- closure="7">
- <type name="PasswordManagerCallback"
- c:type="SoupPasswordManagerCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="7">
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_passwords_sync">
- <callback name="get_passwords_sync">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="password_manager" transfer-ownership="none">
- <type name="PasswordManager" c:type="SoupPasswordManager*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <class name="ProxyResolverDefault"
- c:symbol-prefix="proxy_resolver_default"
- c:type="SoupProxyResolverDefault"
- parent="GObject.Object"
- glib:type-name="SoupProxyResolverDefault"
- glib:get-type="soup_proxy_resolver_default_get_type"
- glib:type-struct="ProxyResolverDefaultClass">
- <implements name="ProxyURIResolver"/>
- <implements name="SessionFeature"/>
- <property name="gproxy-resolver"
- readable="0"
- writable="1"
- transfer-ownership="none">
- <type name="Gio.ProxyResolver"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- </class>
- <record name="ProxyResolverDefaultClass"
- c:type="SoupProxyResolverDefaultClass"
- glib:is-gtype-struct-for="ProxyResolverDefault">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- </record>
- <interface name="ProxyURIResolver"
- c:symbol-prefix="proxy_uri_resolver"
- c:type="SoupProxyURIResolver"
- glib:type-name="SoupProxyURIResolver"
- glib:get-type="soup_proxy_uri_resolver_get_type"
- glib:type-struct="ProxyURIResolverInterface">
- <prerequisite name="SessionFeature"/>
- <virtual-method name="get_proxy_uri_async"
- invoker="get_proxy_uri_async"
- version="2.26.3"
- deprecated="1">
- <doc xml:space="preserve">Asynchronously determines a proxy URI to use for @msg and calls
- @callback.</doc>
- <doc-deprecated xml:space="preserve">#SoupProxyURIResolver is deprecated in favor of
- #GProxyResolver</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="proxy_uri_resolver"
- transfer-ownership="none">
- <doc xml:space="preserve">the #SoupProxyURIResolver</doc>
- <type name="ProxyURIResolver" c:type="SoupProxyURIResolver*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupURI you want a proxy for</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="async_context"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GMainContext to invoke @callback in</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="async"
- closure="4">
- <doc xml:space="preserve">callback to invoke with the proxy address</doc>
- <type name="ProxyURIResolverCallback"
- c:type="SoupProxyURIResolverCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="4">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_proxy_uri_sync"
- invoker="get_proxy_uri_sync"
- version="2.26.3"
- deprecated="1">
- <doc xml:space="preserve">Synchronously determines a proxy URI to use for @uri. If @uri
- should be sent via proxy, *@proxy_uri will be set to the URI of the
- proxy, else it will be set to %NULL.</doc>
- <doc-deprecated xml:space="preserve">#SoupProxyURIResolver is deprecated in favor of
- #GProxyResolver</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%SOUP_STATUS_OK if successful, or a transport-level
- error.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="proxy_uri_resolver"
- transfer-ownership="none">
- <doc xml:space="preserve">the #SoupProxyURIResolver</doc>
- <type name="ProxyURIResolver" c:type="SoupProxyURIResolver*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupURI you want a proxy for</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="proxy_uri"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on return, will contain the proxy URI</doc>
- <type name="URI" c:type="SoupURI**"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_proxy_uri_async"
- c:identifier="soup_proxy_uri_resolver_get_proxy_uri_async"
- version="2.26.3"
- deprecated="1">
- <doc xml:space="preserve">Asynchronously determines a proxy URI to use for @msg and calls
- @callback.</doc>
- <doc-deprecated xml:space="preserve">#SoupProxyURIResolver is deprecated in favor of
- #GProxyResolver</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="proxy_uri_resolver"
- transfer-ownership="none">
- <doc xml:space="preserve">the #SoupProxyURIResolver</doc>
- <type name="ProxyURIResolver" c:type="SoupProxyURIResolver*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupURI you want a proxy for</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="async_context"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GMainContext to invoke @callback in</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="async"
- closure="4">
- <doc xml:space="preserve">callback to invoke with the proxy address</doc>
- <type name="ProxyURIResolverCallback"
- c:type="SoupProxyURIResolverCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_proxy_uri_sync"
- c:identifier="soup_proxy_uri_resolver_get_proxy_uri_sync"
- version="2.26.3"
- deprecated="1">
- <doc xml:space="preserve">Synchronously determines a proxy URI to use for @uri. If @uri
- should be sent via proxy, *@proxy_uri will be set to the URI of the
- proxy, else it will be set to %NULL.</doc>
- <doc-deprecated xml:space="preserve">#SoupProxyURIResolver is deprecated in favor of
- #GProxyResolver</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%SOUP_STATUS_OK if successful, or a transport-level
- error.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="proxy_uri_resolver"
- transfer-ownership="none">
- <doc xml:space="preserve">the #SoupProxyURIResolver</doc>
- <type name="ProxyURIResolver" c:type="SoupProxyURIResolver*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupURI you want a proxy for</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="proxy_uri"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on return, will contain the proxy URI</doc>
- <type name="URI" c:type="SoupURI**"/>
- </parameter>
- </parameters>
- </method>
- </interface>
- <callback name="ProxyURIResolverCallback"
- c:type="SoupProxyURIResolverCallback">
- <doc xml:space="preserve">Callback for soup_proxy_uri_resolver_get_proxy_uri_async()</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="resolver" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupProxyURIResolver</doc>
- <type name="ProxyURIResolver" c:type="SoupProxyURIResolver*"/>
- </parameter>
- <parameter name="status" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupStatus</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="proxy_uri" transfer-ownership="none">
- <doc xml:space="preserve">the resolved proxy URI, or %NULL</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="3">
- <doc xml:space="preserve">data passed to soup_proxy_uri_resolver_get_proxy_uri_async()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="ProxyURIResolverInterface"
- c:type="SoupProxyURIResolverInterface"
- glib:is-gtype-struct-for="ProxyURIResolver">
- <field name="base">
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="get_proxy_uri_async">
- <callback name="get_proxy_uri_async">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="proxy_uri_resolver" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupProxyURIResolver</doc>
- <type name="ProxyURIResolver" c:type="SoupProxyURIResolver*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupURI you want a proxy for</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="async_context"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GMainContext to invoke @callback in</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="async"
- closure="5">
- <doc xml:space="preserve">callback to invoke with the proxy address</doc>
- <type name="ProxyURIResolverCallback"
- c:type="SoupProxyURIResolverCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="5">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_proxy_uri_sync">
- <callback name="get_proxy_uri_sync">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%SOUP_STATUS_OK if successful, or a transport-level
- error.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="proxy_uri_resolver" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupProxyURIResolver</doc>
- <type name="ProxyURIResolver" c:type="SoupProxyURIResolver*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupURI you want a proxy for</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="proxy_uri"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on return, will contain the proxy URI</doc>
- <type name="URI" c:type="SoupURI**"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <constant name="REQUESTER_H" value="1" c:type="SOUP_REQUESTER_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="REQUEST_DATA_H" value="1" c:type="SOUP_REQUEST_DATA_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="REQUEST_FILE_H" value="1" c:type="SOUP_REQUEST_FILE_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="REQUEST_H" value="1" c:type="SOUP_REQUEST_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="REQUEST_HTTP_H" value="1" c:type="SOUP_REQUEST_HTTP_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="REQUEST_SESSION"
- value="session"
- c:type="SOUP_REQUEST_SESSION"
- version="2.42">
- <doc xml:space="preserve">Alias for the #SoupRequest:session property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="REQUEST_URI"
- value="uri"
- c:type="SOUP_REQUEST_URI"
- version="2.42">
- <doc xml:space="preserve">Alias for the #SoupRequest:uri property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <record name="Range" c:type="SoupRange" version="2.26">
- <doc xml:space="preserve">Represents a byte range as used in the Range header.
- If @end is non-negative, then @start and @end represent the bounds
- of of the range, counting from 0. (Eg, the first 500 bytes would be
- represented as @start = 0 and @end = 499.)
- If @end is -1 and @start is non-negative, then this represents a
- range starting at @start and ending with the last byte of the
- requested resource body. (Eg, all but the first 500 bytes would be
- @start = 500, and @end = -1.)
- If @end is -1 and @start is negative, then it represents a "suffix
- range", referring to the last -@start bytes of the resource body.
- (Eg, the last 500 bytes would be @start = -500 and @end = -1.)</doc>
- <field name="start" writable="1">
- <doc xml:space="preserve">the start of the range</doc>
- <type name="gint64" c:type="goffset"/>
- </field>
- <field name="end" writable="1">
- <doc xml:space="preserve">the end of the range</doc>
- <type name="gint64" c:type="goffset"/>
- </field>
- </record>
- <class name="Request"
- c:symbol-prefix="request"
- c:type="SoupRequest"
- version="2.42"
- parent="GObject.Object"
- glib:type-name="SoupRequest"
- glib:get-type="soup_request_get_type"
- glib:type-struct="RequestClass">
- <doc xml:space="preserve">A request to retrieve a particular URI.</doc>
- <implements name="Gio.Initable"/>
- <virtual-method name="check_uri" throws="1">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="req_base" transfer-ownership="none">
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_content_length"
- invoker="get_content_length"
- version="2.42">
- <doc xml:space="preserve">Gets the length of the data represented by @request. For most
- request types, this will not be known until after you call
- soup_request_send() or soup_request_send_finish().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the length of the data represented by @request,
- or -1 if not known.</doc>
- <type name="gint64" c:type="goffset"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="get_content_type"
- invoker="get_content_type"
- version="2.42">
- <doc xml:space="preserve">Gets the type of the data represented by @request. For most request
- types, this will not be known until after you call
- soup_request_send() or soup_request_send_finish().
- As in the HTTP Content-Type header, this may include parameters
- after the MIME type.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the type of the data represented by
- @request, or %NULL if not known.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="send" invoker="send" version="2.42" throws="1">
- <doc xml:space="preserve">Synchronously requests the URI pointed to by @request, and returns
- a #GInputStream that can be used to read its contents.
- Note that you cannot use this method with #SoupRequests attached to
- a #SoupSessionAsync.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GInputStream that can be used to
- read from the URI pointed to by @request.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="send_async" invoker="send_async" version="2.42">
- <doc xml:space="preserve">Begins an asynchronously request for the URI pointed to by
- @request.
- Note that you cannot use this method with #SoupRequests attached to
- a #SoupSessionSync.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="2">
- <doc xml:space="preserve">a #GAsyncReadyCallback</doc>
- <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">user data passed to @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="send_finish"
- invoker="send_finish"
- version="2.42"
- throws="1">
- <doc xml:space="preserve">Gets the result of a soup_request_send_async().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GInputStream that can be used to
- read from the URI pointed to by @request.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- <parameter name="result" transfer-ownership="none">
- <doc xml:space="preserve">the #GAsyncResult</doc>
- <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="get_content_length"
- c:identifier="soup_request_get_content_length"
- version="2.42">
- <doc xml:space="preserve">Gets the length of the data represented by @request. For most
- request types, this will not be known until after you call
- soup_request_send() or soup_request_send_finish().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the length of the data represented by @request,
- or -1 if not known.</doc>
- <type name="gint64" c:type="goffset"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_content_type"
- c:identifier="soup_request_get_content_type"
- version="2.42">
- <doc xml:space="preserve">Gets the type of the data represented by @request. For most request
- types, this will not be known until after you call
- soup_request_send() or soup_request_send_finish().
- As in the HTTP Content-Type header, this may include parameters
- after the MIME type.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the type of the data represented by
- @request, or %NULL if not known.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_session"
- c:identifier="soup_request_get_session"
- version="2.42">
- <doc xml:space="preserve">Gets @request's #SoupSession</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@request's #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_uri"
- c:identifier="soup_request_get_uri"
- version="2.42">
- <doc xml:space="preserve">Gets @request's URI</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@request's URI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="send"
- c:identifier="soup_request_send"
- version="2.42"
- throws="1">
- <doc xml:space="preserve">Synchronously requests the URI pointed to by @request, and returns
- a #GInputStream that can be used to read its contents.
- Note that you cannot use this method with #SoupRequests attached to
- a #SoupSessionAsync.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GInputStream that can be used to
- read from the URI pointed to by @request.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_async"
- c:identifier="soup_request_send_async"
- version="2.42">
- <doc xml:space="preserve">Begins an asynchronously request for the URI pointed to by
- @request.
- Note that you cannot use this method with #SoupRequests attached to
- a #SoupSessionSync.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="2">
- <doc xml:space="preserve">a #GAsyncReadyCallback</doc>
- <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data passed to @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_finish"
- c:identifier="soup_request_send_finish"
- version="2.42"
- throws="1">
- <doc xml:space="preserve">Gets the result of a soup_request_send_async().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GInputStream that can be used to
- read from the URI pointed to by @request.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </instance-parameter>
- <parameter name="result" transfer-ownership="none">
- <doc xml:space="preserve">the #GAsyncResult</doc>
- <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
- </parameter>
- </parameters>
- </method>
- <property name="session"
- version="2.42"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The request's #SoupSession.</doc>
- <type name="Session"/>
- </property>
- <property name="uri"
- version="2.42"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The request URI.</doc>
- <type name="URI"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="priv">
- <type name="RequestPrivate" c:type="SoupRequestPrivate*"/>
- </field>
- </class>
- <record name="RequestClass"
- c:type="SoupRequestClass"
- glib:is-gtype-struct-for="Request">
- <field name="parent">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="schemes">
- <type name="utf8" c:type="const char**"/>
- </field>
- <field name="check_uri">
- <callback name="check_uri" throws="1">
- <return-value transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="req_base" transfer-ownership="none">
- <type name="Request" c:type="SoupRequest*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="send">
- <callback name="send" throws="1">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GInputStream that can be used to
- read from the URI pointed to by @request.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="send_async">
- <callback name="send_async">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="3">
- <doc xml:space="preserve">a #GAsyncReadyCallback</doc>
- <type name="Gio.AsyncReadyCallback"
- c:type="GAsyncReadyCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="3">
- <doc xml:space="preserve">user data passed to @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="send_finish">
- <callback name="send_finish" throws="1">
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GInputStream that can be used to
- read from the URI pointed to by @request.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </parameter>
- <parameter name="result" transfer-ownership="none">
- <doc xml:space="preserve">the #GAsyncResult</doc>
- <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_content_length">
- <callback name="get_content_length">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the length of the data represented by @request,
- or -1 if not known.</doc>
- <type name="gint64" c:type="goffset"/>
- </return-value>
- <parameters>
- <parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="get_content_type">
- <callback name="get_content_type">
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the type of the data represented by
- @request, or %NULL if not known.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <parameter name="request" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequest</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <class name="RequestData"
- c:symbol-prefix="request_data"
- c:type="SoupRequestData"
- parent="Request"
- glib:type-name="SoupRequestData"
- glib:get-type="soup_request_data_get_type"
- glib:type-struct="RequestDataClass">
- <implements name="Gio.Initable"/>
- <field name="parent">
- <type name="Request" c:type="SoupRequest"/>
- </field>
- <field name="priv">
- <type name="RequestDataPrivate" c:type="SoupRequestDataPrivate*"/>
- </field>
- </class>
- <record name="RequestDataClass"
- c:type="SoupRequestDataClass"
- glib:is-gtype-struct-for="RequestData">
- <field name="parent">
- <type name="RequestClass" c:type="SoupRequestClass"/>
- </field>
- </record>
- <record name="RequestDataPrivate"
- c:type="SoupRequestDataPrivate"
- disguised="1">
- </record>
- <enumeration name="RequestError"
- version="2.42"
- glib:type-name="SoupRequestError"
- glib:get-type="soup_request_error_get_type"
- c:type="SoupRequestError"
- glib:error-domain="soup_request_error_quark">
- <doc xml:space="preserve">A #SoupRequest error.</doc>
- <member name="bad_uri"
- value="0"
- c:identifier="SOUP_REQUEST_ERROR_BAD_URI"
- glib:nick="bad-uri">
- <doc xml:space="preserve">the URI could not be parsed</doc>
- </member>
- <member name="unsupported_uri_scheme"
- value="1"
- c:identifier="SOUP_REQUEST_ERROR_UNSUPPORTED_URI_SCHEME"
- glib:nick="unsupported-uri-scheme">
- <doc xml:space="preserve">the URI scheme is not
- supported by this #SoupSession</doc>
- </member>
- <member name="parsing"
- value="2"
- c:identifier="SOUP_REQUEST_ERROR_PARSING"
- glib:nick="parsing">
- <doc xml:space="preserve">the server's response could not
- be parsed</doc>
- </member>
- <member name="encoding"
- value="3"
- c:identifier="SOUP_REQUEST_ERROR_ENCODING"
- glib:nick="encoding">
- <doc xml:space="preserve">the server's response was in an
- unsupported format</doc>
- </member>
- <function name="quark" c:identifier="soup_request_error_quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- </enumeration>
- <class name="RequestFile"
- c:symbol-prefix="request_file"
- c:type="SoupRequestFile"
- parent="Request"
- glib:type-name="SoupRequestFile"
- glib:get-type="soup_request_file_get_type"
- glib:type-struct="RequestFileClass">
- <implements name="Gio.Initable"/>
- <method name="get_file"
- c:identifier="soup_request_file_get_file"
- version="2.40">
- <doc xml:space="preserve">Gets a #GFile corresponding to @file's URI</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GFile corresponding to @file</doc>
- <type name="Gio.File" c:type="GFile*"/>
- </return-value>
- <parameters>
- <instance-parameter name="file" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequestFile</doc>
- <type name="RequestFile" c:type="SoupRequestFile*"/>
- </instance-parameter>
- </parameters>
- </method>
- <field name="parent">
- <type name="Request" c:type="SoupRequest"/>
- </field>
- <field name="priv">
- <type name="RequestFilePrivate" c:type="SoupRequestFilePrivate*"/>
- </field>
- </class>
- <record name="RequestFileClass"
- c:type="SoupRequestFileClass"
- glib:is-gtype-struct-for="RequestFile">
- <field name="parent">
- <type name="RequestClass" c:type="SoupRequestClass"/>
- </field>
- </record>
- <record name="RequestFilePrivate"
- c:type="SoupRequestFilePrivate"
- disguised="1">
- </record>
- <class name="RequestHTTP"
- c:symbol-prefix="request_http"
- c:type="SoupRequestHTTP"
- parent="Request"
- glib:type-name="SoupRequestHTTP"
- glib:get-type="soup_request_http_get_type"
- glib:type-struct="RequestHTTPClass">
- <implements name="Gio.Initable"/>
- <method name="get_message"
- c:identifier="soup_request_http_get_message"
- version="2.40">
- <doc xml:space="preserve">Gets a new reference to the #SoupMessage associated to this SoupRequest</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new reference to the #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </return-value>
- <parameters>
- <instance-parameter name="http" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupRequestHTTP object</doc>
- <type name="RequestHTTP" c:type="SoupRequestHTTP*"/>
- </instance-parameter>
- </parameters>
- </method>
- <field name="parent">
- <type name="Request" c:type="SoupRequest"/>
- </field>
- <field name="priv">
- <type name="RequestHTTPPrivate" c:type="SoupRequestHTTPPrivate*"/>
- </field>
- </class>
- <record name="RequestHTTPClass"
- c:type="SoupRequestHTTPClass"
- glib:is-gtype-struct-for="RequestHTTP">
- <field name="parent">
- <type name="RequestClass" c:type="SoupRequestClass"/>
- </field>
- </record>
- <record name="RequestHTTPPrivate"
- c:type="SoupRequestHTTPPrivate"
- disguised="1">
- </record>
- <record name="RequestPrivate" c:type="SoupRequestPrivate" disguised="1">
- </record>
- <class name="Requester"
- c:symbol-prefix="requester"
- c:type="SoupRequester"
- parent="GObject.Object"
- glib:type-name="SoupRequester"
- glib:get-type="soup_requester_get_type"
- glib:type-struct="RequesterClass">
- <implements name="SessionFeature"/>
- <constructor name="new" c:identifier="soup_requester_new">
- <return-value transfer-ownership="full">
- <type name="Requester" c:type="SoupRequester*"/>
- </return-value>
- </constructor>
- <method name="request" c:identifier="soup_requester_request" throws="1">
- <return-value transfer-ownership="full">
- <type name="Request" c:type="SoupRequest*"/>
- </return-value>
- <parameters>
- <instance-parameter name="requester" transfer-ownership="none">
- <type name="Requester" c:type="SoupRequester*"/>
- </instance-parameter>
- <parameter name="uri_string" transfer-ownership="none">
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="request_uri"
- c:identifier="soup_requester_request_uri"
- throws="1">
- <return-value transfer-ownership="full">
- <type name="Request" c:type="SoupRequest*"/>
- </return-value>
- <parameters>
- <instance-parameter name="requester" transfer-ownership="none">
- <type name="Requester" c:type="SoupRequester*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </method>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="priv">
- <type name="RequesterPrivate" c:type="SoupRequesterPrivate*"/>
- </field>
- </class>
- <record name="RequesterClass"
- c:type="SoupRequesterClass"
- glib:is-gtype-struct-for="Requester">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- </record>
- <enumeration name="RequesterError"
- glib:type-name="SoupRequesterError"
- glib:get-type="soup_requester_error_get_type"
- c:type="SoupRequesterError"
- glib:error-domain="soup_requester_error_quark">
- <member name="bad_uri"
- value="0"
- c:identifier="SOUP_REQUESTER_ERROR_BAD_URI"
- glib:nick="bad-uri">
- </member>
- <member name="unsupported_uri_scheme"
- value="1"
- c:identifier="SOUP_REQUESTER_ERROR_UNSUPPORTED_URI_SCHEME"
- glib:nick="unsupported-uri-scheme">
- </member>
- <function name="quark" c:identifier="soup_requester_error_quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- </enumeration>
- <record name="RequesterPrivate"
- c:type="SoupRequesterPrivate"
- disguised="1">
- </record>
- <constant name="SERVER_ASYNC_CONTEXT"
- value="async-context"
- c:type="SOUP_SERVER_ASYNC_CONTEXT"
- deprecated="1">
- <doc xml:space="preserve">Alias for the deprecated #SoupServer:async-context
- property, qv.</doc>
- <doc-deprecated xml:space="preserve">The new API uses the thread-default #GMainContext
- rather than having an explicitly-specified one.</doc-deprecated>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SERVER_H" value="1" c:type="SOUP_SERVER_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="SERVER_HTTPS_ALIASES"
- value="https-aliases"
- c:type="SOUP_SERVER_HTTPS_ALIASES"
- version="2.44">
- <doc xml:space="preserve">Alias for the #SoupServer:https-aliases property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SERVER_HTTP_ALIASES"
- value="http-aliases"
- c:type="SOUP_SERVER_HTTP_ALIASES"
- version="2.44">
- <doc xml:space="preserve">Alias for the #SoupServer:http-aliases property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SERVER_INTERFACE"
- value="interface"
- c:type="SOUP_SERVER_INTERFACE"
- deprecated="1">
- <doc xml:space="preserve">Alias for the #SoupServer:interface property, qv.</doc>
- <doc-deprecated xml:space="preserve">#SoupServers can listen on multiple interfaces
- at once now. Use soup_server_listen(), etc, to listen on an
- interface, and soup_server_get_uris() to see what addresses
- are being listened on.</doc-deprecated>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SERVER_PORT"
- value="port"
- c:type="SOUP_SERVER_PORT"
- deprecated="1">
- <doc xml:space="preserve">Alias for the deprecated #SoupServer:port property, qv.</doc>
- <doc-deprecated xml:space="preserve">#SoupServers can listen on multiple interfaces
- at once now. Use soup_server_listen(), etc, to listen on a
- port, and soup_server_get_uris() to see what ports are
- being listened on.</doc-deprecated>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SERVER_RAW_PATHS"
- value="raw-paths"
- c:type="SOUP_SERVER_RAW_PATHS">
- <doc xml:space="preserve">Alias for the #SoupServer:raw-paths property. (If %TRUE,
- percent-encoding in the Request-URI path will not be
- automatically decoded.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SERVER_SERVER_HEADER"
- value="server-header"
- c:type="SOUP_SERVER_SERVER_HEADER">
- <doc xml:space="preserve">Alias for the #SoupServer:server-header property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SERVER_SSL_CERT_FILE"
- value="ssl-cert-file"
- c:type="SOUP_SERVER_SSL_CERT_FILE"
- deprecated="1">
- <doc xml:space="preserve">Alias for the #SoupServer:ssl-cert-file property, qv.</doc>
- <doc-deprecated xml:space="preserve">use #SoupServer:tls-certificate or
- soup_server_set_ssl_certificate().</doc-deprecated>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SERVER_SSL_KEY_FILE"
- value="ssl-key-file"
- c:type="SOUP_SERVER_SSL_KEY_FILE"
- deprecated="1">
- <doc xml:space="preserve">Alias for the #SoupServer:ssl-key-file property, qv.</doc>
- <doc-deprecated xml:space="preserve">use #SoupServer:tls-certificate or
- soup_server_set_ssl_certificate().</doc-deprecated>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SERVER_TLS_CERTIFICATE"
- value="tls-certificate"
- c:type="SOUP_SERVER_TLS_CERTIFICATE"
- version="2.38">
- <doc xml:space="preserve">Alias for the #SoupServer:tls-certificate property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_ACCEPT_LANGUAGE"
- value="accept-language"
- c:type="SOUP_SESSION_ACCEPT_LANGUAGE"
- version="2.30">
- <doc xml:space="preserve">Alias for the #SoupSession:accept-language property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_ACCEPT_LANGUAGE_AUTO"
- value="accept-language-auto"
- c:type="SOUP_SESSION_ACCEPT_LANGUAGE_AUTO"
- version="2.30">
- <doc xml:space="preserve">Alias for the #SoupSession:accept-language-auto property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_ADD_FEATURE"
- value="add-feature"
- c:type="SOUP_SESSION_ADD_FEATURE"
- version="2.24"
- introspectable="0">
- <doc xml:space="preserve">Alias for the #SoupSession:add-feature property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_ADD_FEATURE_BY_TYPE"
- value="add-feature-by-type"
- c:type="SOUP_SESSION_ADD_FEATURE_BY_TYPE"
- version="2.24"
- introspectable="0">
- <doc xml:space="preserve">Alias for the #SoupSession:add-feature-by-type property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_ASYNC_CONTEXT"
- value="async-context"
- c:type="SOUP_SESSION_ASYNC_CONTEXT">
- <doc xml:space="preserve">Alias for the #SoupSession:async-context property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_ASYNC_H" value="1" c:type="SOUP_SESSION_ASYNC_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="SESSION_FEATURE_H"
- value="1"
- c:type="SOUP_SESSION_FEATURE_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="SESSION_H" value="1" c:type="SOUP_SESSION_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="SESSION_HTTPS_ALIASES"
- value="https-aliases"
- c:type="SOUP_SESSION_HTTPS_ALIASES"
- version="2.38">
- <doc xml:space="preserve">Alias for the #SoupSession:https-aliases property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_HTTP_ALIASES"
- value="http-aliases"
- c:type="SOUP_SESSION_HTTP_ALIASES"
- version="2.38">
- <doc xml:space="preserve">Alias for the #SoupSession:http-aliases property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_IDLE_TIMEOUT"
- value="idle-timeout"
- c:type="SOUP_SESSION_IDLE_TIMEOUT"
- version="2.24">
- <doc xml:space="preserve">Alias for the #SoupSession:idle-timeout property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_LOCAL_ADDRESS"
- value="local-address"
- c:type="SOUP_SESSION_LOCAL_ADDRESS"
- version="2.42">
- <doc xml:space="preserve">Alias for the #SoupSession:local-address property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_MAX_CONNS"
- value="max-conns"
- c:type="SOUP_SESSION_MAX_CONNS">
- <doc xml:space="preserve">Alias for the #SoupSession:max-conns property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_MAX_CONNS_PER_HOST"
- value="max-conns-per-host"
- c:type="SOUP_SESSION_MAX_CONNS_PER_HOST">
- <doc xml:space="preserve">Alias for the #SoupSession:max-conns-per-host property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_PROXY_RESOLVER"
- value="proxy-resolver"
- c:type="SOUP_SESSION_PROXY_RESOLVER">
- <doc xml:space="preserve">Alias for the #SoupSession:proxy-resolver property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_PROXY_URI"
- value="proxy-uri"
- c:type="SOUP_SESSION_PROXY_URI">
- <doc xml:space="preserve">Alias for the #SoupSession:proxy-uri property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_REMOVE_FEATURE_BY_TYPE"
- value="remove-feature-by-type"
- c:type="SOUP_SESSION_REMOVE_FEATURE_BY_TYPE"
- version="2.24"
- introspectable="0">
- <doc xml:space="preserve">Alias for the #SoupSession:remove-feature-by-type property,
- qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_SSL_CA_FILE"
- value="ssl-ca-file"
- c:type="SOUP_SESSION_SSL_CA_FILE">
- <doc xml:space="preserve">Alias for the #SoupSession:ssl-ca-file property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_SSL_STRICT"
- value="ssl-strict"
- c:type="SOUP_SESSION_SSL_STRICT"
- version="2.30">
- <doc xml:space="preserve">Alias for the #SoupSession:ssl-strict property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_SSL_USE_SYSTEM_CA_FILE"
- value="ssl-use-system-ca-file"
- c:type="SOUP_SESSION_SSL_USE_SYSTEM_CA_FILE"
- version="2.38">
- <doc xml:space="preserve">Alias for the #SoupSession:ssl-use-system-ca-file property,
- qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_SYNC_H" value="1" c:type="SOUP_SESSION_SYNC_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="SESSION_TIMEOUT"
- value="timeout"
- c:type="SOUP_SESSION_TIMEOUT">
- <doc xml:space="preserve">Alias for the #SoupSession:timeout property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_TLS_DATABASE"
- value="tls-database"
- c:type="SOUP_SESSION_TLS_DATABASE"
- version="2.38">
- <doc xml:space="preserve">Alias for the #SoupSession:tls-database property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_TLS_INTERACTION"
- value="tls-interaction"
- c:type="SOUP_SESSION_TLS_INTERACTION"
- version="2.48">
- <doc xml:space="preserve">Alias for the #SoupSession:tls-interaction property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_USER_AGENT"
- value="user-agent"
- c:type="SOUP_SESSION_USER_AGENT">
- <doc xml:space="preserve">Alias for the #SoupSession:user-agent property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_USE_NTLM"
- value="use-ntlm"
- c:type="SOUP_SESSION_USE_NTLM">
- <doc xml:space="preserve">Alias for the #SoupSession:use-ntlm property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SESSION_USE_THREAD_CONTEXT"
- value="use-thread-context"
- c:type="SOUP_SESSION_USE_THREAD_CONTEXT"
- version="2.38">
- <doc xml:space="preserve">Alias for the #SoupSession:use-thread-context property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_ASYNC_CONTEXT"
- value="async-context"
- c:type="SOUP_SOCKET_ASYNC_CONTEXT">
- <doc xml:space="preserve">Alias for the #SoupSocket:async-context property. (The
- socket's #GMainContext.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_FLAG_NONBLOCKING"
- value="non-blocking"
- c:type="SOUP_SOCKET_FLAG_NONBLOCKING">
- <doc xml:space="preserve">Alias for the #SoupSocket:non-blocking property. (Whether
- or not the socket uses non-blocking I/O.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_H" value="1" c:type="SOUP_SOCKET_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="SOCKET_IS_SERVER"
- value="is-server"
- c:type="SOUP_SOCKET_IS_SERVER">
- <doc xml:space="preserve">Alias for the #SoupSocket:is-server property, qv.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_LOCAL_ADDRESS"
- value="local-address"
- c:type="SOUP_SOCKET_LOCAL_ADDRESS">
- <doc xml:space="preserve">Alias for the #SoupSocket:local-address property. (Address
- of local end of socket.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_REMOTE_ADDRESS"
- value="remote-address"
- c:type="SOUP_SOCKET_REMOTE_ADDRESS">
- <doc xml:space="preserve">Alias for the #SoupSocket:remote-address property. (Address
- of remote end of socket.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_SSL_CREDENTIALS"
- value="ssl-creds"
- c:type="SOUP_SOCKET_SSL_CREDENTIALS">
- <doc xml:space="preserve">Alias for the #SoupSocket:ssl-creds property.
- (SSL credential information.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_SSL_FALLBACK"
- value="ssl-fallback"
- c:type="SOUP_SOCKET_SSL_FALLBACK">
- <doc xml:space="preserve">Alias for the #SoupSocket:ssl-fallback property.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_SSL_STRICT"
- value="ssl-strict"
- c:type="SOUP_SOCKET_SSL_STRICT">
- <doc xml:space="preserve">Alias for the #SoupSocket:ssl-strict property.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_TIMEOUT"
- value="timeout"
- c:type="SOUP_SOCKET_TIMEOUT">
- <doc xml:space="preserve">Alias for the #SoupSocket:timeout property. (The timeout
- in seconds for blocking socket I/O operations.)</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_TLS_CERTIFICATE"
- value="tls-certificate"
- c:type="SOUP_SOCKET_TLS_CERTIFICATE"
- version="2.34">
- <doc xml:space="preserve">Alias for the #SoupSocket:tls-certificate
- property. Note that this property's value is only useful
- if the socket is for a TLS connection, and only reliable
- after some data has been transferred to or from it.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_TLS_ERRORS"
- value="tls-errors"
- c:type="SOUP_SOCKET_TLS_ERRORS"
- version="2.34">
- <doc xml:space="preserve">Alias for the #SoupSocket:tls-errors
- property. Note that this property's value is only useful
- if the socket is for a TLS connection, and only reliable
- after some data has been transferred to or from it.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_TRUSTED_CERTIFICATE"
- value="trusted-certificate"
- c:type="SOUP_SOCKET_TRUSTED_CERTIFICATE">
- <doc xml:space="preserve">Alias for the #SoupSocket:trusted-certificate
- property.</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="SOCKET_USE_THREAD_CONTEXT"
- value="use-thread-context"
- c:type="SOUP_SOCKET_USE_THREAD_CONTEXT"
- version="2.38">
- <doc xml:space="preserve">Alias for the #SoupSocket:use-thread-context property. (Use
- g_main_context_get_thread_default())</doc>
- <type name="utf8" c:type="gchar*"/>
- </constant>
- <constant name="STATUS_H" value="1" c:type="SOUP_STATUS_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <class name="Server"
- c:symbol-prefix="server"
- c:type="SoupServer"
- parent="GObject.Object"
- glib:type-name="SoupServer"
- glib:get-type="soup_server_get_type"
- glib:type-struct="ServerClass">
- <constructor name="new"
- c:identifier="soup_server_new"
- introspectable="0">
- <doc xml:space="preserve">Creates a new #SoupServer. This is exactly equivalent to calling
- g_object_new() and specifying %SOUP_TYPE_SERVER as the type.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a new #SoupServer. If you are using
- certain legacy properties, this may also return %NULL if an error
- occurs.</doc>
- <type name="Server" c:type="SoupServer*"/>
- </return-value>
- <parameters>
- <parameter name="optname1" transfer-ownership="none">
- <doc xml:space="preserve">name of first property to set</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value of @optname1, followed by additional property/value pairs</doc>
- <varargs/>
- </parameter>
- </parameters>
- </constructor>
- <virtual-method name="request_aborted">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="request_finished">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="request_read">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="request_started">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="accept_iostream"
- c:identifier="soup_server_accept_iostream"
- version="2.50"
- throws="1">
- <doc xml:space="preserve">Add a new client stream to the @server.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE on success, %FALSE if the stream could not be
- accepted or any other error occurred (in which case @error will be
- set).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="stream" transfer-ownership="none">
- <doc xml:space="preserve">a #GIOStream</doc>
- <type name="Gio.IOStream" c:type="GIOStream*"/>
- </parameter>
- <parameter name="local_addr"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the local #GSocketAddress associated with the @stream</doc>
- <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
- </parameter>
- <parameter name="remote_addr"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the remote #GSocketAddress associated with the @stream</doc>
- <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_auth_domain"
- c:identifier="soup_server_add_auth_domain">
- <doc xml:space="preserve">Adds an authentication domain to @server. Each auth domain will
- have the chance to require authentication for each request that
- comes in; normally auth domains will require authentication for
- requests on certain paths that they have been set up to watch, or
- that meet other criteria set by the caller. If an auth domain
- determines that a request requires authentication (and the request
- doesn't contain authentication), @server will automatically reject
- the request with an appropriate status (401 Unauthorized or 407
- Proxy Authentication Required). If the request used the
- "100-continue" Expectation, @server will reject it before the
- request body is sent.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="auth_domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_early_handler"
- c:identifier="soup_server_add_early_handler"
- version="2.50">
- <doc xml:space="preserve">Adds an "early" handler to @server for requests under @path. Note
- that "normal" and "early" handlers are matched up together, so if
- you add a normal handler for "/foo" and an early handler for
- "/foo/bar", then a request to "/foo/bar" (or any path below it)
- will run only the early handler. (But if you add both handlers at
- the same path, then both will get run.)
- For requests under @path (that have not already been assigned a
- status code by a #SoupAuthDomain or a signal handler), @callback
- will be invoked after receiving the request headers, but before
- receiving the request body; the message's #SoupMessage:method and
- #SoupMessage:request-headers fields will be filled in.
- Early handlers are generally used for processing requests with
- request bodies in a streaming fashion. If you determine that the
- request will contain a message body, normally you would call
- soup_message_body_set_accumulate() on the message's
- #SoupMessage:request-body to turn off request-body accumulation,
- and connect to the message's #SoupMessage::got-chunk signal to
- process each chunk as it comes in.
- To complete the message processing after the full message body has
- been read, you can either also connect to #SoupMessage::got-body,
- or else you can register a non-early handler for @path as well. As
- long as you have not set the #SoupMessage:status-code by the time
- #SoupMessage::got-body is emitted, the non-early handler will be
- run as well.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="path"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the toplevel path for the handler</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="notified"
- closure="2"
- destroy="3">
- <doc xml:space="preserve">callback to invoke for requests under @path</doc>
- <type name="ServerCallback" c:type="SoupServerCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">destroy notifier to free @user_data</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_handler" c:identifier="soup_server_add_handler">
- <doc xml:space="preserve">Adds a handler to @server for requests under @path. If @path is
- %NULL or "/", then this will be the default handler for all
- requests that don't have a more specific handler. (Note though that
- if you want to handle requests to the special "*" URI, you must
- explicitly register a handler for "*"; the default handler will not
- be used for that case.)
- For requests under @path (that have not already been assigned a
- status code by a #SoupAuthDomain, an early #SoupServerHandler, or a
- signal handler), @callback will be invoked after receiving the
- request body; the message's #SoupMessage:method,
- #SoupMessage:request-headers, and #SoupMessage:request-body fields
- will be filled in.
- After determining what to do with the request, the callback must at
- a minimum call soup_message_set_status() (or
- soup_message_set_status_full()) on the message to set the response
- status code. Additionally, it may set response headers and/or fill
- in the response body.
- If the callback cannot fully fill in the response before returning
- (eg, if it needs to wait for information from a database, or
- another network server), it should call soup_server_pause_message()
- to tell @server to not send the response right away. When the
- response is ready, call soup_server_unpause_message() to cause it
- to be sent.
- To send the response body a bit at a time using "chunked" encoding,
- first call soup_message_headers_set_encoding() to set
- %SOUP_ENCODING_CHUNKED on the #SoupMessage:response-headers. Then call
- soup_message_body_append() (or soup_message_body_append_buffer())
- to append each chunk as it becomes ready, and
- soup_server_unpause_message() to make sure it's running. (The
- server will automatically pause the message if it is using chunked
- encoding but no more chunks are available.) When you are done, call
- soup_message_body_complete() to indicate that no more chunks are
- coming.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="path"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the toplevel path for the handler</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="notified"
- closure="2"
- destroy="3">
- <doc xml:space="preserve">callback to invoke for requests under @path</doc>
- <type name="ServerCallback" c:type="SoupServerCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">destroy notifier to free @user_data</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_websocket_handler"
- c:identifier="soup_server_add_websocket_handler">
- <doc xml:space="preserve">Adds a WebSocket handler to @server for requests under @path. (If
- @path is %NULL or "/", then this will be the default handler for
- all requests that don't have a more specific handler.)
- When a path has a WebSocket handler registered, @server will check
- incoming requests for WebSocket handshakes after all other handlers
- have run (unless some earlier handler has already set a status code
- on the message), and update the request's status, response headers,
- and response body accordingly.
- If @origin is non-%NULL, then only requests containing a matching
- "Origin" header will be accepted. If @protocols is non-%NULL, then
- only requests containing a compatible "Sec-WebSocket-Protocols"
- header will be accepted. More complicated requirements can be
- handled by adding a normal handler to @path, and having it perform
- whatever checks are needed (possibly calling
- soup_server_check_websocket_handshake() one or more times), and
- setting a failure status code if the handshake should be rejected.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="path"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the toplevel path for the handler</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="origin"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the origin of the connection</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="protocols"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the protocols
- supported by this handler</doc>
- <array c:type="char**">
- <type name="utf8" c:type="char*"/>
- </array>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="notified"
- closure="4"
- destroy="5">
- <doc xml:space="preserve">callback to invoke for successful WebSocket requests under @path</doc>
- <type name="ServerWebsocketCallback"
- c:type="SoupServerWebsocketCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- <parameter name="destroy" transfer-ownership="none" scope="async">
- <doc xml:space="preserve">destroy notifier to free @user_data</doc>
- <type name="GLib.DestroyNotify" c:type="GDestroyNotify"/>
- </parameter>
- </parameters>
- </method>
- <method name="disconnect" c:identifier="soup_server_disconnect">
- <doc xml:space="preserve">Closes and frees @server's listening sockets. If you are using the
- old #SoupServer APIs, this also includes the effect of
- soup_server_quit().
- Note that if there are currently requests in progress on @server,
- that they will continue to be processed if @server's #GMainContext
- is still running.
- You can call soup_server_listen(), etc, after calling this function
- if you want to start listening again.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_async_context"
- c:identifier="soup_server_get_async_context"
- deprecated="1">
- <doc xml:space="preserve">Gets @server's async_context, if you are using the old API. (With
- the new API, the server runs in the thread's thread-default
- #GMainContext, regardless of what this method returns.)
- This does not add a ref to the context, so you will need to ref it
- yourself if you want it to outlive its server.</doc>
- <doc-deprecated xml:space="preserve">If you are using soup_server_listen(), etc, then
- the server listens on the thread-default #GMainContext, and this
- property is ignored.</doc-deprecated>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">@server's #GMainContext,
- which may be %NULL</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_listener"
- c:identifier="soup_server_get_listener"
- deprecated="1">
- <doc xml:space="preserve">Gets @server's listening socket, if you are using the old API.
- You should treat this socket as read-only; writing to it or
- modifiying it may cause @server to malfunction.</doc>
- <doc-deprecated xml:space="preserve">If you are using soup_server_listen(), etc, then use
- soup_server_get_listeners() to get a list of all listening sockets,
- but note that that function returns #GSockets, not #SoupSockets.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the listening socket.</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_listeners" c:identifier="soup_server_get_listeners">
- <doc xml:space="preserve">Gets @server's list of listening sockets.
- You should treat these sockets as read-only; writing to or
- modifiying any of these sockets may cause @server to malfunction.
- (Beware that in contrast to the old soup_server_get_listener(), this
- function returns #GSockets, not #SoupSockets.)</doc>
- <return-value transfer-ownership="container">
- <doc xml:space="preserve">a
- list of listening sockets.</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Gio.Socket"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_port"
- c:identifier="soup_server_get_port"
- deprecated="1">
- <doc xml:space="preserve">Gets the TCP port that @server is listening on, if you are using
- the old API.</doc>
- <doc-deprecated xml:space="preserve">If you are using soup_server_listen(), etc, then use
- soup_server_get_uris() to get a list of all listening addresses.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the port @server is listening on.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_uris"
- c:identifier="soup_server_get_uris"
- version="2.48">
- <doc xml:space="preserve">Gets a list of URIs corresponding to the interfaces @server is
- listening on. These will contain IP addresses, not hostnames, and
- will also indicate whether the given listener is http or https.
- Note that if you used soup_server_listen_all(), the returned URIs
- will use the addresses <literal>0.0.0.0</literal> and
- <literal>::</literal>, rather than actually returning separate URIs
- for each interface on the system.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a list of
- #SoupURIs, which you must free when you are done with it.</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="URI"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_https" c:identifier="soup_server_is_https">
- <doc xml:space="preserve">Checks whether @server is capable of https.
- In order for a server to run https, you must call
- soup_server_set_ssl_cert_file(), or set the
- #SoupServer:tls-certificate property, to provide it with a
- certificate to use.
- If you are using the deprecated single-listener APIs, then a return
- value of %TRUE indicates that the #SoupServer serves https
- exclusively. If you are using soup_server_listen(), etc, then a
- %TRUE return value merely indicates that the server is
- <emphasis>able</emphasis> to do https, regardless of whether it
- actually currently is or not. Use soup_server_get_uris() to see if
- it currently has any https listeners.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @server is configured to serve https.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="listen"
- c:identifier="soup_server_listen"
- version="2.48"
- throws="1">
- <doc xml:space="preserve">This attempts to set up @server to listen for connections on
- @address.
- If @options includes %SOUP_SERVER_LISTEN_HTTPS, and @server has
- been configured for TLS, then @server will listen for https
- connections on this port. Otherwise it will listen for plain http.
- You may call this method (along with the other "listen" methods)
- any number of times on a server, if you want to listen on multiple
- ports, or set up both http and https service.
- After calling this method, @server will begin accepting and
- processing connections as soon as the appropriate #GMainContext is
- run.
- Note that #SoupServer never makes use of dual IPv4/IPv6 sockets; if
- @address is an IPv6 address, it will only accept IPv6 connections.
- You must configure IPv4 listening separately.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE on success, %FALSE if @address could not be
- bound or any other error occurred (in which case @error will be
- set).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="address" transfer-ownership="none">
- <doc xml:space="preserve">the address of the interface to listen on</doc>
- <type name="Gio.SocketAddress" c:type="GSocketAddress*"/>
- </parameter>
- <parameter name="options" transfer-ownership="none">
- <doc xml:space="preserve">listening options for this server</doc>
- <type name="ServerListenOptions" c:type="SoupServerListenOptions"/>
- </parameter>
- </parameters>
- </method>
- <method name="listen_all"
- c:identifier="soup_server_listen_all"
- version="2.48"
- throws="1">
- <doc xml:space="preserve">This attempts to set up @server to listen for connections on all
- interfaces on the system. (That is, it listens on the addresses
- <literal>0.0.0.0</literal> and/or <literal>::</literal>, depending
- on whether @options includes %SOUP_SERVER_LISTEN_IPV4_ONLY,
- %SOUP_SERVER_LISTEN_IPV6_ONLY, or neither.) If @port is specified,
- @server will listen on that port. If it is 0, @server will find an
- unused port to listen on. (In that case, you can use
- soup_server_get_uris() to find out what port it ended up choosing.)
- See soup_server_listen() for more details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE on success, %FALSE if @port could not be bound
- or any other error occurred (in which case @error will be set).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="port" transfer-ownership="none">
- <doc xml:space="preserve">the port to listen on, or 0</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="options" transfer-ownership="none">
- <doc xml:space="preserve">listening options for this server</doc>
- <type name="ServerListenOptions" c:type="SoupServerListenOptions"/>
- </parameter>
- </parameters>
- </method>
- <method name="listen_fd"
- c:identifier="soup_server_listen_fd"
- version="2.48"
- throws="1">
- <doc xml:space="preserve">This attempts to set up @server to listen for connections on
- @fd.
- See soup_server_listen() for more details.
- Note that @server will close @fd when you free it or call
- soup_server_disconnect().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE on success, %FALSE if an error occurred (in
- which case @error will be set).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="fd" transfer-ownership="none">
- <doc xml:space="preserve">the file descriptor of a listening socket</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="options" transfer-ownership="none">
- <doc xml:space="preserve">listening options for this server</doc>
- <type name="ServerListenOptions" c:type="SoupServerListenOptions"/>
- </parameter>
- </parameters>
- </method>
- <method name="listen_local"
- c:identifier="soup_server_listen_local"
- version="2.48"
- throws="1">
- <doc xml:space="preserve">This attempts to set up @server to listen for connections on
- "localhost" (that is, <literal>127.0.0.1</literal> and/or
- <literal>::1</literal>, depending on whether @options includes
- %SOUP_SERVER_LISTEN_IPV4_ONLY, %SOUP_SERVER_LISTEN_IPV6_ONLY, or
- neither). If @port is specified, @server will listen on that port.
- If it is 0, @server will find an unused port to listen on. (In that
- case, you can use soup_server_get_uris() to find out what port it
- ended up choosing.)
- See soup_server_listen() for more details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE on success, %FALSE if @port could not be bound
- or any other error occurred (in which case @error will be set).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="port" transfer-ownership="none">
- <doc xml:space="preserve">the port to listen on, or 0</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="options" transfer-ownership="none">
- <doc xml:space="preserve">listening options for this server</doc>
- <type name="ServerListenOptions" c:type="SoupServerListenOptions"/>
- </parameter>
- </parameters>
- </method>
- <method name="listen_socket"
- c:identifier="soup_server_listen_socket"
- version="2.48"
- throws="1">
- <doc xml:space="preserve">This attempts to set up @server to listen for connections on
- @socket.
- See soup_server_listen() for more details.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE on success, %FALSE if an error occurred (in
- which case @error will be set).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="socket" transfer-ownership="none">
- <doc xml:space="preserve">a listening #GSocket</doc>
- <type name="Gio.Socket" c:type="GSocket*"/>
- </parameter>
- <parameter name="options" transfer-ownership="none">
- <doc xml:space="preserve">listening options for this server</doc>
- <type name="ServerListenOptions" c:type="SoupServerListenOptions"/>
- </parameter>
- </parameters>
- </method>
- <method name="pause_message" c:identifier="soup_server_pause_message">
- <doc xml:space="preserve">Pauses I/O on @msg. This can be used when you need to return from
- the server handler without having the full response ready yet. Use
- soup_server_unpause_message() to resume I/O.
- This must only be called on #SoupMessages which were created by the
- #SoupServer and are currently doing I/O, such as those passed into a
- #SoupServerCallback or emitted in a #SoupServer::request-read signal.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage associated with @server.</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="quit" c:identifier="soup_server_quit" deprecated="1">
- <doc xml:space="preserve">Stops processing for @server, if you are using the old API. Call
- this to clean up after soup_server_run_async(), or to terminate a
- call to soup_server_run().
- Note that messages currently in progress will continue to be
- handled, if the main loop associated with the server is resumed or
- kept running.
- @server is still in a working state after this call; you can start
- and stop a server as many times as you want.</doc>
- <doc-deprecated xml:space="preserve">When using soup_server_listen(), etc, the server will
- always listen for connections, and will process them whenever the
- thread-default #GMainContext is running.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="remove_auth_domain"
- c:identifier="soup_server_remove_auth_domain">
- <doc xml:space="preserve">Removes @auth_domain from @server.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="auth_domain" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupAuthDomain</doc>
- <type name="AuthDomain" c:type="SoupAuthDomain*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_handler" c:identifier="soup_server_remove_handler">
- <doc xml:space="preserve">Removes all handlers (early and normal) registered at @path.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="path" transfer-ownership="none">
- <doc xml:space="preserve">the toplevel path for the handler</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="run" c:identifier="soup_server_run" deprecated="1">
- <doc xml:space="preserve">Starts @server, if you are using the old API, causing it to listen
- for and process incoming connections. Unlike
- soup_server_run_async(), this creates a #GMainLoop and runs it, and
- it will not return until someone calls soup_server_quit() to stop
- the server.</doc>
- <doc-deprecated xml:space="preserve">When using soup_server_listen(), etc, the server will
- always listen for connections, and will process them whenever the
- thread-default #GMainContext is running.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="run_async"
- c:identifier="soup_server_run_async"
- deprecated="1">
- <doc xml:space="preserve">Starts @server, if you are using the old API, causing it to listen
- for and process incoming connections.
- The server runs in @server's #GMainContext. It will not actually
- perform any processing unless the appropriate main loop is running.
- In the simple case where you did not set the server's
- %SOUP_SERVER_ASYNC_CONTEXT property, this means the server will run
- whenever the glib main loop is running.</doc>
- <doc-deprecated xml:space="preserve">When using soup_server_listen(), etc, the server will
- always listen for connections, and will process them whenever the
- thread-default #GMainContext is running.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="set_ssl_cert_file"
- c:identifier="soup_server_set_ssl_cert_file"
- version="2.48"
- throws="1">
- <doc xml:space="preserve">Sets @server up to do https, using the SSL/TLS certificate
- specified by @ssl_cert_file and @ssl_key_file (which may point to
- the same file).
- Alternatively, you can set the #SoupServer:tls-certificate property
- at construction time, if you already have a #GTlsCertificate.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">success or failure.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="ssl_cert_file" transfer-ownership="none">
- <doc xml:space="preserve">path to a file containing a PEM-encoded SSL/TLS
- certificate.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="ssl_key_file" transfer-ownership="none">
- <doc xml:space="preserve">path to a file containing a PEM-encoded private key.</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unpause_message"
- c:identifier="soup_server_unpause_message">
- <doc xml:space="preserve">Resumes I/O on @msg. Use this to resume after calling
- soup_server_pause_message(), or after adding a new chunk to a
- chunked response.
- I/O won't actually resume until you return to the main loop.
- This must only be called on #SoupMessages which were created by the
- #SoupServer and are currently doing I/O, such as those passed into a
- #SoupServerCallback or emitted in a #SoupServer::request-read signal.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage associated with @server.</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <property name="async-context"
- deprecated="1"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The server's #GMainContext, if you are using the old API.
- Servers created using soup_server_listen() will listen on
- the #GMainContext that was the thread-default context at
- the time soup_server_listen() was called.</doc>
- <doc-deprecated xml:space="preserve">The new API uses the thread-default #GMainContext
- rather than having an explicitly-specified one.</doc-deprecated>
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="http-aliases"
- version="2.44"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">A %NULL-terminated array of URI schemes that should be
- considered to be aliases for "http". Eg, if this included
- <literal>"dav"</literal>, than a URI of
- <literal>dav://example.com/path</literal> would be treated
- identically to <literal>http://example.com/path</literal>.
- In particular, this is needed in cases where a client
- sends requests with absolute URIs, where those URIs do
- not use "http:".
- The default value is an array containing the single element
- <literal>"*"</literal>, a special value which means that
- any scheme except "https" is considered to be an alias for
- "http".
- See also #SoupServer:https-aliases.</doc>
- <array>
- <type name="utf8"/>
- </array>
- </property>
- <property name="https-aliases"
- version="2.44"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">A comma-delimited list of URI schemes that should be
- considered to be aliases for "https". See
- #SoupServer:http-aliases for more information.
- The default value is %NULL, meaning that no URI schemes
- are considered aliases for "https".</doc>
- <array>
- <type name="utf8"/>
- </array>
- </property>
- <property name="interface"
- deprecated="1"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The address of the network interface the server is
- listening on, if you are using the old #SoupServer API.
- (This will not be set if you use soup_server_listen(),
- etc.)</doc>
- <doc-deprecated xml:space="preserve">#SoupServers can listen on multiple interfaces
- at once now. Use soup_server_listen(), etc, to listen on an
- interface, and soup_server_get_uris() to see what addresses
- are being listened on.</doc-deprecated>
- <type name="Address"/>
- </property>
- <property name="port"
- deprecated="1"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The port the server is listening on, if you are using the
- old #SoupServer API. (This will not be set if you use
- soup_server_listen(), etc.)</doc>
- <doc-deprecated xml:space="preserve">#SoupServers can listen on multiple interfaces
- at once now. Use soup_server_listen(), etc, to listen on a
- port, and soup_server_get_uris() to see what ports are
- being listened on.</doc-deprecated>
- <type name="guint" c:type="guint"/>
- </property>
- <property name="raw-paths"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="server-header"
- writable="1"
- construct="1"
- transfer-ownership="none">
- <doc xml:space="preserve">If non-%NULL, the value to use for the "Server" header on
- #SoupMessage<!-- -->s processed by this server.
- The Server header is the server equivalent of the
- User-Agent header, and provides information about the
- server and its components. It contains a list of one or
- more product tokens, separated by whitespace, with the most
- significant product token coming first. The tokens must be
- brief, ASCII, and mostly alphanumeric (although "-", "_",
- and "." are also allowed), and may optionally include a "/"
- followed by a version string. You may also put comments,
- enclosed in parentheses, between or after the tokens.
- Some HTTP server implementations intentionally do not use
- version numbers in their Server header, so that
- installations running older versions of the server don't
- end up advertising their vulnerability to specific security
- holes.
- As with #SoupSession:user_agent, if you set a
- #SoupServer:server_header property that has trailing whitespace,
- #SoupServer will append its own product token (eg,
- "<literal>libsoup/2.3.2</literal>") to the end of the
- header for you.</doc>
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="ssl-cert-file"
- deprecated="1"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Path to a file containing a PEM-encoded certificate.
- If you set this property and #SoupServer:ssl-key-file at
- construct time, then soup_server_new() will try to read the
- files; if it cannot, it will return %NULL, with no explicit
- indication of what went wrong (and logging a warning with
- newer versions of glib, since returning %NULL from a
- constructor is illegal).</doc>
- <doc-deprecated xml:space="preserve">use #SoupServer:tls-certificate or
- soup_server_set_ssl_certificate().</doc-deprecated>
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="ssl-key-file"
- deprecated="1"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Path to a file containing a PEM-encoded private key. See
- #SoupServer:ssl-cert-file for more information about how this
- is used.</doc>
- <doc-deprecated xml:space="preserve">use #SoupServer:tls-certificate or
- soup_server_set_ssl_certificate().</doc-deprecated>
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="tls-certificate"
- version="2.38"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">A #GTlsCertificate that has a #GTlsCertificate:private-key
- set. If this is set, then the server will be able to speak
- https in addition to (or instead of) plain http.
- Alternatively, you can call soup_server_set_ssl_cert_file()
- to have #SoupServer read in a a certificate from a file.</doc>
- <type name="Gio.TlsCertificate"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <glib:signal name="request-aborted" when="first">
- <doc xml:space="preserve">Emitted when processing has failed for a message; this
- could mean either that it could not be read (if
- #SoupServer::request_read has not been emitted for it yet),
- or that the response could not be written back (if
- #SoupServer::request_read has been emitted but
- #SoupServer::request_finished has not been).
- @message is in an undefined state when this signal is
- emitted; the signal exists primarily to allow the server to
- free any state that it may have allocated in
- #SoupServer::request_started.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <doc xml:space="preserve">the message</doc>
- <type name="Message"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">the client context</doc>
- <type name="ClientContext"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="request-finished" when="first">
- <doc xml:space="preserve">Emitted when the server has finished writing a response to
- a request.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <doc xml:space="preserve">the message</doc>
- <type name="Message"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">the client context</doc>
- <type name="ClientContext"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="request-read" when="first">
- <doc xml:space="preserve">Emitted when the server has successfully read a request.
- @message will have all of its request-side information
- filled in, and if the message was authenticated, @client
- will have information about that. This signal is emitted
- before any (non-early) handlers are called for the message,
- and if it sets the message's #status_code, then normal
- handler processing will be skipped.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <doc xml:space="preserve">the message</doc>
- <type name="Message"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">the client context</doc>
- <type name="ClientContext"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="request-started" when="first">
- <doc xml:space="preserve">Emitted when the server has started reading a new request.
- @message will be completely blank; not even the
- Request-Line will have been read yet. About the only thing
- you can usefully do with it is connect to its signals.
- If the request is read successfully, this will eventually
- be followed by a #SoupServer::request_read signal. If a
- response is then sent, the request processing will end with
- a #SoupServer::request_finished signal. If a network error
- occurs, the processing will instead end with
- #SoupServer::request_aborted.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="message" transfer-ownership="none">
- <doc xml:space="preserve">the new message</doc>
- <type name="Message"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">the client context</doc>
- <type name="ClientContext"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <callback name="ServerCallback" c:type="SoupServerCallback">
- <doc xml:space="preserve">A callback used to handle requests to a #SoupServer.
- @path and @query contain the likewise-named components of the
- Request-URI, subject to certain assumptions. By default,
- #SoupServer decodes all percent-encoding in the URI path, such that
- "/foo%<!-- -->2Fbar" is treated the same as "/foo/bar". If your
- server is serving resources in some non-POSIX-filesystem namespace,
- you may want to distinguish those as two distinct paths. In that
- case, you can set the %SOUP_SERVER_RAW_PATHS property when creating
- the #SoupServer, and it will leave those characters undecoded. (You
- may want to call soup_uri_normalize() to decode any percent-encoded
- characters that you aren't handling specially.)
- @query contains the query component of the Request-URI parsed
- according to the rules for HTML form handling. Although this is the
- only commonly-used query string format in HTTP, there is nothing
- that actually requires that HTTP URIs use that format; if your
- server needs to use some other format, you can just ignore @query,
- and call soup_message_get_uri() and parse the URI's query field
- yourself.
- See soup_server_add_handler() and soup_server_add_early_handler()
- for details of what handlers can/should do.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message being processed</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="path" transfer-ownership="none">
- <doc xml:space="preserve">the path component of @msg's Request-URI</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="query"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the parsed query
- component of @msg's Request-URI</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">additional contextual information about the client</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="5">
- <doc xml:space="preserve">the data passed to soup_server_add_handler() or
- soup_server_add_early_handler().</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="ServerClass"
- c:type="SoupServerClass"
- glib:is-gtype-struct-for="Server">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="request_started">
- <callback name="request_started">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="server" transfer-ownership="none">
- <type name="Server" c:type="SoupServer*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="request_read">
- <callback name="request_read">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="server" transfer-ownership="none">
- <type name="Server" c:type="SoupServer*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="request_finished">
- <callback name="request_finished">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="server" transfer-ownership="none">
- <type name="Server" c:type="SoupServer*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="request_aborted">
- <callback name="request_aborted">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="server" transfer-ownership="none">
- <type name="Server" c:type="SoupServer*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <bitfield name="ServerListenOptions"
- version="2.48"
- glib:type-name="SoupServerListenOptions"
- glib:get-type="soup_server_listen_options_get_type"
- c:type="SoupServerListenOptions">
- <doc xml:space="preserve">Options to pass to soup_server_listen(), etc.
- %SOUP_SERVER_LISTEN_IPV4_ONLY and %SOUP_SERVER_LISTEN_IPV6_ONLY
- only make sense with soup_server_listen_all() and
- soup_server_listen_local(), not plain soup_server_listen() (which
- simply listens on whatever kind of socket you give it). And you
- cannot specify both of them in a single call.</doc>
- <member name="https"
- value="1"
- c:identifier="SOUP_SERVER_LISTEN_HTTPS"
- glib:nick="https">
- <doc xml:space="preserve">Listen for https connections rather
- than plain http.</doc>
- </member>
- <member name="ipv4_only"
- value="2"
- c:identifier="SOUP_SERVER_LISTEN_IPV4_ONLY"
- glib:nick="ipv4-only">
- <doc xml:space="preserve">Only listen on IPv4 interfaces.</doc>
- </member>
- <member name="ipv6_only"
- value="4"
- c:identifier="SOUP_SERVER_LISTEN_IPV6_ONLY"
- glib:nick="ipv6-only">
- <doc xml:space="preserve">Only listen on IPv6 interfaces.</doc>
- </member>
- </bitfield>
- <callback name="ServerWebsocketCallback"
- c:type="SoupServerWebsocketCallback">
- <doc xml:space="preserve">A callback used to handle WebSocket requests to a #SoupServer. The
- callback will be invoked after sending the handshake response back
- to the client (and is only invoked if the handshake was
- successful).
- @path contains the path of the Request-URI, subject to the same
- rules as #SoupServerCallback (qv).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="server" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupServer</doc>
- <type name="Server" c:type="SoupServer*"/>
- </parameter>
- <parameter name="connection" transfer-ownership="none">
- <doc xml:space="preserve">the newly created WebSocket connection</doc>
- <type name="WebsocketConnection" c:type="SoupWebsocketConnection*"/>
- </parameter>
- <parameter name="path" transfer-ownership="none">
- <doc xml:space="preserve">the path component of @msg's Request-URI</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="client" transfer-ownership="none">
- <doc xml:space="preserve">additional contextual information about the client</doc>
- <type name="ClientContext" c:type="SoupClientContext*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="4">
- <doc xml:space="preserve">the data passed to @soup_server_add_handler</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <class name="Session"
- c:symbol-prefix="session"
- c:type="SoupSession"
- parent="GObject.Object"
- glib:type-name="SoupSession"
- glib:get-type="soup_session_get_type"
- glib:type-struct="SessionClass">
- <constructor name="new" c:identifier="soup_session_new" version="2.42">
- <doc xml:space="preserve">Creates a #SoupSession with the default options.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new session.</doc>
- <type name="Session" c:type="SoupSession*"/>
- </return-value>
- </constructor>
- <constructor name="new_with_options"
- c:identifier="soup_session_new_with_options"
- version="2.42"
- introspectable="0">
- <doc xml:space="preserve">Creates a #SoupSession with the specified options.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new session.</doc>
- <type name="Session" c:type="SoupSession*"/>
- </return-value>
- <parameters>
- <parameter name="optname1" transfer-ownership="none">
- <doc xml:space="preserve">name of first property to set</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value of @optname1, followed by additional property/value pairs</doc>
- <varargs/>
- </parameter>
- </parameters>
- </constructor>
- <virtual-method name="auth_required">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="authenticate">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="cancel_message" invoker="cancel_message">
- <doc xml:space="preserve">Causes @session to immediately finish processing @msg (regardless
- of its current state) with a final status_code of @status_code. You
- may call this at any time after handing @msg off to @session; if
- @session has started sending the request but has not yet received
- the complete response, then it will close the request's connection.
- Note that with requests that have side effects (eg,
- <literal>POST</literal>, <literal>PUT</literal>,
- <literal>DELETE</literal>) it is possible that you might cancel the
- request after the server acts on it, but before it returns a
- response, leaving the remote resource in an unknown state.
- If the message is cancelled while its response body is being read,
- then the response body in @msg will be left partially-filled-in.
- The response headers, on the other hand, will always be either
- empty or complete.
- Beware that with the deprecated #SoupSessionAsync, messages queued
- with soup_session_queue_message() will have their callbacks invoked
- before soup_session_cancel_message() returns. The plain
- #SoupSession does not have this behavior; cancelling an
- asynchronous message will merely queue its callback to be run after
- returning to the main loop.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to cancel</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">status code to set on @msg (generally
- %SOUP_STATUS_CANCELLED)</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="flush_queue">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="kick">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="queue_message" invoker="queue_message">
- <doc xml:space="preserve">Queues the message @msg for asynchronously sending the request and
- receiving a response in the current thread-default #GMainContext.
- If @msg has been processed before, any resources related to the
- time it was last sent are freed.
- Upon message completion, the callback specified in @callback will
- be invoked. If after returning from this callback the message has not
- been requeued, @msg will be unreffed.
- (The behavior above applies to a plain #SoupSession; if you are
- using #SoupSessionAsync or #SoupSessionSync, then the #GMainContext
- that is used depends on the settings of #SoupSession:async-context
- and #SoupSession:use-thread-context, and for #SoupSessionSync, the
- message will actually be sent and processed in another thread, with
- only the final callback occurring in the indicated #GMainContext.)
- Contrast this method with soup_session_send_async(), which also
- asynchronously sends a message, but returns before reading the
- response body, and allows you to read the response via a
- #GInputStream.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="full">
- <doc xml:space="preserve">the message to queue</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="2">
- <doc xml:space="preserve">a #SoupSessionCallback which will
- be called after the message completes or when an unrecoverable error occurs.</doc>
- <type name="SessionCallback" c:type="SoupSessionCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">a pointer passed to @callback.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="request_started">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="socket" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="requeue_message" invoker="requeue_message">
- <doc xml:space="preserve">This causes @msg to be placed back on the queue to be attempted
- again.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to requeue</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="send_message" invoker="send_message">
- <doc xml:space="preserve">Synchronously send @msg. This call will not return until the
- transfer is finished successfully or there is an unrecoverable
- error.
- Unlike with soup_session_queue_message(), @msg is not freed upon
- return.
- (Note that if you call this method on a #SoupSessionAsync, it will
- still use asynchronous I/O internally, running the glib main loop
- to process the message, which may also cause other events to be
- processed.)
- Contrast this method with soup_session_send(), which also
- synchronously sends a message, but returns before reading the
- response body, and allows you to read the response via a
- #GInputStream.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the HTTP status code of the response</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to send</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="abort" c:identifier="soup_session_abort">
- <doc xml:space="preserve">Cancels all pending requests in @session and closes all idle
- persistent connections.
- The message cancellation has the same semantics as with
- soup_session_cancel_message(); asynchronous requests on a
- #SoupSessionAsync will have their callback called before
- soup_session_abort() returns. Requests on a plain #SoupSession will
- not.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">the session</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="add_feature"
- c:identifier="soup_session_add_feature"
- version="2.24">
- <doc xml:space="preserve">Adds @feature's functionality to @session. You can also add a
- feature to the session at construct time by using the
- %SOUP_SESSION_ADD_FEATURE property.
- See the main #SoupSession documentation for information on what
- features are present in sessions by default.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">an object that implements #SoupSessionFeature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- </parameters>
- </method>
- <method name="add_feature_by_type"
- c:identifier="soup_session_add_feature_by_type"
- version="2.24">
- <doc xml:space="preserve">If @feature_type is the type of a class that implements
- #SoupSessionFeature, this creates a new feature of that type and
- adds it to @session as with soup_session_add_feature(). You can use
- this when you don't need to customize the new feature in any way.
- If @feature_type is not a #SoupSessionFeature type, this gives each
- existing feature on @session the chance to accept @feature_type as
- a "subfeature". This can be used to add new #SoupAuth or
- #SoupRequest types, for instance.
- You can also add a feature to the session at construct time by
- using the %SOUP_SESSION_ADD_FEATURE_BY_TYPE property.
- See the main #SoupSession documentation for information on what
- features are present in sessions by default.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="feature_type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="cancel_message" c:identifier="soup_session_cancel_message">
- <doc xml:space="preserve">Causes @session to immediately finish processing @msg (regardless
- of its current state) with a final status_code of @status_code. You
- may call this at any time after handing @msg off to @session; if
- @session has started sending the request but has not yet received
- the complete response, then it will close the request's connection.
- Note that with requests that have side effects (eg,
- <literal>POST</literal>, <literal>PUT</literal>,
- <literal>DELETE</literal>) it is possible that you might cancel the
- request after the server acts on it, but before it returns a
- response, leaving the remote resource in an unknown state.
- If the message is cancelled while its response body is being read,
- then the response body in @msg will be left partially-filled-in.
- The response headers, on the other hand, will always be either
- empty or complete.
- Beware that with the deprecated #SoupSessionAsync, messages queued
- with soup_session_queue_message() will have their callbacks invoked
- before soup_session_cancel_message() returns. The plain
- #SoupSession does not have this behavior; cancelling an
- asynchronous message will merely queue its callback to be run after
- returning to the main loop.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to cancel</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">status code to set on @msg (generally
- %SOUP_STATUS_CANCELLED)</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_async_context"
- c:identifier="soup_session_get_async_context">
- <doc xml:space="preserve">Gets @session's #SoupSession:async-context. This does not add a ref
- to the context, so you will need to ref it yourself if you want it
- to outlive its session.
- For a modern #SoupSession, this will always just return the
- thread-default #GMainContext, and so is not especially useful.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">@session's #GMainContext,
- which may be %NULL</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_feature"
- c:identifier="soup_session_get_feature"
- version="2.26">
- <doc xml:space="preserve">Gets the first feature in @session of type @feature_type. For
- features where there may be more than one feature of a given type,
- use soup_session_get_features().</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">a #SoupSessionFeature, or
- %NULL. The feature is owned by @session.</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="feature_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of the feature to get</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_feature_for_message"
- c:identifier="soup_session_get_feature_for_message"
- version="2.28">
- <doc xml:space="preserve">Gets the first feature in @session of type @feature_type, provided
- that it is not disabled for @msg. As with
- soup_session_get_feature(), this should only be used for features
- where @feature_type is only expected to match a single feature. In
- particular, if there are two matching features, and the first is
- disabled on @msg, and the second is not, then this will return
- %NULL, not the second feature.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">a #SoupSessionFeature, or %NULL. The
- feature is owned by @session.</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="feature_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of the feature to get</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_features"
- c:identifier="soup_session_get_features"
- version="2.26">
- <doc xml:space="preserve">Generates a list of @session's features of type @feature_type. (If
- you want to see all features, you can pass %SOUP_TYPE_SESSION_FEATURE
- for @feature_type.)</doc>
- <return-value transfer-ownership="container">
- <doc xml:space="preserve">
- a list of features. You must free the list, but not its contents</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="SessionFeature"/>
- </type>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="feature_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of the class of features to get</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="has_feature"
- c:identifier="soup_session_has_feature"
- version="2.42">
- <doc xml:space="preserve">Tests if @session has at a feature of type @feature_type (which can
- be the type of either a #SoupSessionFeature, or else a subtype of
- some class managed by another feature, such as #SoupAuth or
- #SoupRequest).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE or %FALSE</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="feature_type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of the class of features to check for</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="pause_message" c:identifier="soup_session_pause_message">
- <doc xml:space="preserve">Pauses HTTP I/O on @msg. Call soup_session_unpause_message() to
- resume I/O.
- This may only be called for asynchronous messages (those sent on a
- #SoupSessionAsync or using soup_session_queue_message()).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage currently running on @session</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="prefetch_dns"
- c:identifier="soup_session_prefetch_dns"
- version="2.38">
- <doc xml:space="preserve">Tells @session that an URI from the given @hostname may be requested
- shortly, and so the session can try to prepare by resolving the
- domain name in advance, in order to work more quickly once the URI
- is actually requested.
- If @cancellable is non-%NULL, it can be used to cancel the
- resolution. @callback will still be invoked in this case, with a
- status of %SOUP_STATUS_CANCELLED.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="hostname" transfer-ownership="none">
- <doc xml:space="preserve">a hostname to be resolved</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable object, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="3">
- <doc xml:space="preserve">callback to call with the
- result, or %NULL</doc>
- <type name="AddressCallback" c:type="SoupAddressCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="prepare_for_uri"
- c:identifier="soup_session_prepare_for_uri"
- version="2.30"
- deprecated="1"
- deprecated-version="2.38">
- <doc xml:space="preserve">Tells @session that @uri may be requested shortly, and so the
- session can try to prepare (resolving the domain name, obtaining
- proxy address, etc.) in order to work more quickly once the URI is
- actually requested.</doc>
- <doc-deprecated xml:space="preserve">use soup_session_prefetch_dns() instead</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI which may be required</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </method>
- <method name="queue_message" c:identifier="soup_session_queue_message">
- <doc xml:space="preserve">Queues the message @msg for asynchronously sending the request and
- receiving a response in the current thread-default #GMainContext.
- If @msg has been processed before, any resources related to the
- time it was last sent are freed.
- Upon message completion, the callback specified in @callback will
- be invoked. If after returning from this callback the message has not
- been requeued, @msg will be unreffed.
- (The behavior above applies to a plain #SoupSession; if you are
- using #SoupSessionAsync or #SoupSessionSync, then the #GMainContext
- that is used depends on the settings of #SoupSession:async-context
- and #SoupSession:use-thread-context, and for #SoupSessionSync, the
- message will actually be sent and processed in another thread, with
- only the final callback occurring in the indicated #GMainContext.)
- Contrast this method with soup_session_send_async(), which also
- asynchronously sends a message, but returns before reading the
- response body, and allows you to read the response via a
- #GInputStream.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="full">
- <doc xml:space="preserve">the message to queue</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="2">
- <doc xml:space="preserve">a #SoupSessionCallback which will
- be called after the message completes or when an unrecoverable error occurs.</doc>
- <type name="SessionCallback" c:type="SoupSessionCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a pointer passed to @callback.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="redirect_message"
- c:identifier="soup_session_redirect_message"
- version="2.38">
- <doc xml:space="preserve">Updates @msg's URI according to its status code and "Location"
- header, and requeues it on @session. Use this when you have set
- %SOUP_MESSAGE_NO_REDIRECT on a message, but have decided to allow a
- particular redirection to occur, or if you want to allow a
- redirection that #SoupSession will not perform automatically (eg,
- redirecting a non-safe method such as DELETE).
- If @msg's status code indicates that it should be retried as a GET
- request, then @msg will be modified accordingly.
- If @msg has already been redirected too many times, this will
- cause it to fail with %SOUP_STATUS_TOO_MANY_REDIRECTS.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if a redirection was applied, %FALSE if not
- (eg, because there was no Location header, or it could not be
- parsed).</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">the session</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage that has received a 3xx response</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_feature"
- c:identifier="soup_session_remove_feature"
- version="2.24">
- <doc xml:space="preserve">Removes @feature's functionality from @session.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">a feature that has previously been added to @session</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_feature_by_type"
- c:identifier="soup_session_remove_feature_by_type"
- version="2.24">
- <doc xml:space="preserve">Removes all features of type @feature_type (or any subclass of
- @feature_type) from @session. You can also remove standard features
- from the session at construct time by using the
- %SOUP_SESSION_REMOVE_FEATURE_BY_TYPE property.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="feature_type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="request"
- c:identifier="soup_session_request"
- version="2.42"
- throws="1">
- <doc xml:space="preserve">Creates a #SoupRequest for retrieving @uri_string.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupRequest, or
- %NULL on error.</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="uri_string" transfer-ownership="none">
- <doc xml:space="preserve">a URI, in string form</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="request_http"
- c:identifier="soup_session_request_http"
- version="2.42"
- throws="1">
- <doc xml:space="preserve">Creates a #SoupRequest for retrieving @uri_string, which must be an
- "http" or "https" URI (or another protocol listed in @session's
- #SoupSession:http-aliases or #SoupSession:https-aliases).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupRequestHTTP, or
- %NULL on error.</doc>
- <type name="RequestHTTP" c:type="SoupRequestHTTP*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="method" transfer-ownership="none">
- <doc xml:space="preserve">an HTTP method</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="uri_string" transfer-ownership="none">
- <doc xml:space="preserve">a URI, in string form</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="request_http_uri"
- c:identifier="soup_session_request_http_uri"
- version="2.42"
- throws="1">
- <doc xml:space="preserve">Creates a #SoupRequest for retrieving @uri, which must be an
- "http" or "https" URI (or another protocol listed in @session's
- #SoupSession:http-aliases or #SoupSession:https-aliases).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupRequestHTTP, or
- %NULL on error.</doc>
- <type name="RequestHTTP" c:type="SoupRequestHTTP*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="method" transfer-ownership="none">
- <doc xml:space="preserve">an HTTP method</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI representing the URI to retrieve</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </method>
- <method name="request_uri"
- c:identifier="soup_session_request_uri"
- version="2.42"
- throws="1">
- <doc xml:space="preserve">Creates a #SoupRequest for retrieving @uri.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupRequest, or
- %NULL on error.</doc>
- <type name="Request" c:type="SoupRequest*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI representing the URI to retrieve</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </method>
- <method name="requeue_message"
- c:identifier="soup_session_requeue_message">
- <doc xml:space="preserve">This causes @msg to be placed back on the queue to be attempted
- again.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to requeue</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="send"
- c:identifier="soup_session_send"
- version="2.42"
- throws="1">
- <doc xml:space="preserve">Synchronously sends @msg and waits for the beginning of a response.
- On success, a #GInputStream will be returned which you can use to
- read the response body. ("Success" here means only that an HTTP
- response was received and understood; it does not necessarily mean
- that a 2xx class status code was received.)
- If non-%NULL, @cancellable can be used to cancel the request;
- soup_session_send() will return a %G_IO_ERROR_CANCELLED error. Note
- that with requests that have side effects (eg,
- <literal>POST</literal>, <literal>PUT</literal>,
- <literal>DELETE</literal>) it is possible that you might cancel the
- request after the server acts on it, but before it returns a
- response, leaving the remote resource in an unknown state.
- If @msg is requeued due to a redirect or authentication, the
- initial (3xx/401/407) response body will be suppressed, and
- soup_session_send() will only return once a final response has been
- received.
- Contrast this method with soup_session_send_message(), which also
- synchronously sends a #SoupMessage, but doesn't return until the
- response has been completely read.
- (Note that this method cannot be called on the deprecated
- #SoupSessionAsync subclass.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GInputStream for reading the
- response body, or %NULL on error.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_async"
- c:identifier="soup_session_send_async"
- version="2.42">
- <doc xml:space="preserve">Asynchronously sends @msg and waits for the beginning of a
- response. When @callback is called, then either @msg has been sent,
- and its response headers received, or else an error has occurred.
- Call soup_session_send_finish() to get a #GInputStream for reading
- the response body.
- See soup_session_send() for more details on the general semantics.
- Contrast this method with soup_session_queue_message(), which also
- asynchronously sends a #SoupMessage, but doesn't invoke its
- callback until the response has been completely read.
- (Note that this method cannot be called on the deprecated
- #SoupSessionSync subclass, and can only be called on
- #SoupSessionAsync if you have set the
- #SoupSession:use-thread-context property.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="3">
- <doc xml:space="preserve">the callback to invoke</doc>
- <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_finish"
- c:identifier="soup_session_send_finish"
- version="2.42"
- throws="1">
- <doc xml:space="preserve">Gets the response to a soup_session_send_async() call and (if
- successful), returns a #GInputStream that can be used to read the
- response body.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GInputStream for reading the
- response body, or %NULL on error.</doc>
- <type name="Gio.InputStream" c:type="GInputStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="result" transfer-ownership="none">
- <doc xml:space="preserve">the #GAsyncResult passed to your callback</doc>
- <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_message" c:identifier="soup_session_send_message">
- <doc xml:space="preserve">Synchronously send @msg. This call will not return until the
- transfer is finished successfully or there is an unrecoverable
- error.
- Unlike with soup_session_queue_message(), @msg is not freed upon
- return.
- (Note that if you call this method on a #SoupSessionAsync, it will
- still use asynchronous I/O internally, running the glib main loop
- to process the message, which may also cause other events to be
- processed.)
- Contrast this method with soup_session_send(), which also
- synchronously sends a message, but returns before reading the
- response body, and allows you to read the response via a
- #GInputStream.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the HTTP status code of the response</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to send</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="steal_connection"
- c:identifier="soup_session_steal_connection"
- version="2.50">
- <doc xml:space="preserve">"Steals" the HTTP connection associated with @msg from @session.
- This happens immediately, regardless of the current state of the
- connection, and @msg's callback will not be called. You can steal
- the connection from a #SoupMessage signal handler if you need to
- wait for part or all of the response to be received first.
- Calling this function may cause @msg to be freed if you are not
- holding any other reference to it.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the #GIOStream formerly associated
- with @msg (or %NULL if @msg was no longer associated with a
- connection). No guarantees are made about what kind of #GIOStream
- is returned.</doc>
- <type name="Gio.IOStream" c:type="GIOStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message whose connection is to be stolen</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="unpause_message"
- c:identifier="soup_session_unpause_message">
- <doc xml:space="preserve">Resumes HTTP I/O on @msg. Use this to resume after calling
- soup_session_pause_message().
- If @msg is being sent via blocking I/O, this will resume reading or
- writing immediately. If @msg is using non-blocking I/O, then
- reading or writing won't resume until you return to the main loop.
- This may only be called for asynchronous messages (those sent on a
- #SoupSessionAsync or using soup_session_queue_message()).</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage currently running on @session</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <method name="websocket_connect_async"
- c:identifier="soup_session_websocket_connect_async"
- version="2.50">
- <doc xml:space="preserve">Asynchronously creates a #SoupWebsocketConnection to communicate
- with a remote server.
- All necessary WebSocket-related headers will be added to @msg, and
- it will then be sent and asynchronously processed normally
- (including handling of redirection and HTTP authentication).
- If the server returns "101 Switching Protocols", then @msg's status
- code and response headers will be updated, and then the WebSocket
- handshake will be completed. On success,
- soup_websocket_connect_finish() will return a new
- #SoupWebsocketConnection. On failure it will return a #GError.
- If the server returns a status other than "101 Switching
- Protocols", then @msg will contain the complete response headers
- and body from the server's response, and
- soup_websocket_connect_finish() will return
- %SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">#SoupMessage indicating the WebSocket server to connect to</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="origin"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">origin of the connection</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="protocols"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a
- %NULL-terminated array of protocols supported</doc>
- <array c:type="char**">
- <type name="utf8" c:type="char*"/>
- </array>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="5">
- <doc xml:space="preserve">the callback to invoke</doc>
- <type name="Gio.AsyncReadyCallback" c:type="GAsyncReadyCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data for @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="websocket_connect_finish"
- c:identifier="soup_session_websocket_connect_finish"
- version="2.50"
- throws="1">
- <doc xml:space="preserve">Gets the #SoupWebsocketConnection response to a
- soup_session_websocket_connect_async() call and (if successful),
- returns a #SoupWebsockConnection that can be used to communicate
- with the server.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupWebsocketConnection, or
- %NULL on error.</doc>
- <type name="WebsocketConnection" c:type="SoupWebsocketConnection*"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="result" transfer-ownership="none">
- <doc xml:space="preserve">the #GAsyncResult passed to your callback</doc>
- <type name="Gio.AsyncResult" c:type="GAsyncResult*"/>
- </parameter>
- </parameters>
- </method>
- <method name="would_redirect"
- c:identifier="soup_session_would_redirect"
- version="2.38">
- <doc xml:space="preserve">Checks if @msg contains a response that would cause @session to
- redirect it to a new URL (ignoring @msg's %SOUP_MESSAGE_NO_REDIRECT
- flag, and the number of times it has already been redirected).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether @msg would be redirected</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </instance-parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage that has response headers</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </method>
- <property name="accept-language"
- version="2.30"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">If non-%NULL, the value to use for the "Accept-Language" header
- on #SoupMessage<!-- -->s sent from this session.
- Setting this will disable
- #SoupSession:accept-language-auto.</doc>
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="accept-language-auto"
- version="2.30"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">If %TRUE, #SoupSession will automatically set the string
- for the "Accept-Language" header on every #SoupMessage
- sent, based on the return value of g_get_language_names().
- Setting this will override any previous value of
- #SoupSession:accept-language.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="add-feature"
- version="2.24"
- introspectable="0"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Add a feature object to the session. (Shortcut for calling
- soup_session_add_feature().)</doc>
- <type name="SessionFeature"/>
- </property>
- <property name="add-feature-by-type"
- version="2.24"
- introspectable="0"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Add a feature object of the given type to the session.
- (Shortcut for calling soup_session_add_feature_by_type().)</doc>
- <type name="GType" c:type="GType"/>
- </property>
- <property name="async-context"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The #GMainContext that miscellaneous session-related
- asynchronous callbacks are invoked on. (Eg, setting
- #SoupSession:idle-timeout will add a timeout source on this
- context.)
- For a plain #SoupSession, this property is always set to
- the #GMainContext that is the thread-default at the time
- the session was created, and cannot be overridden. For the
- deprecated #SoupSession subclasses, the default value is
- %NULL, meaning to use the global default #GMainContext.
- If #SoupSession:use-thread-context is %FALSE, this context
- will also be used for asynchronous HTTP I/O.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="http-aliases"
- version="2.38"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">A %NULL-terminated array of URI schemes that should be
- considered to be aliases for "http". Eg, if this included
- <literal>"dav"</literal>, than a URI of
- <literal>dav://example.com/path</literal> would be treated
- identically to <literal>http://example.com/path</literal>.
- In a plain #SoupSession, the default value is %NULL,
- meaning that only "http" is recognized as meaning "http".
- In #SoupSessionAsync and #SoupSessionSync, for backward
- compatibility, the default value is an array containing the
- single element <literal>"*"</literal>, a special value
- which means that any scheme except "https" is considered to
- be an alias for "http".
- See also #SoupSession:https-aliases.</doc>
- <array>
- <type name="utf8"/>
- </array>
- </property>
- <property name="https-aliases"
- version="2.38"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">A comma-delimited list of URI schemes that should be
- considered to be aliases for "https". See
- #SoupSession:http-aliases for more information.
- The default value is %NULL, meaning that no URI schemes
- are considered aliases for "https".</doc>
- <array>
- <type name="utf8"/>
- </array>
- </property>
- <property name="idle-timeout"
- version="2.24"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Connection lifetime (in seconds) when idle. Any connection
- left idle longer than this will be closed.
- Although you can change this property at any time, it will
- only affect newly-created connections, not currently-open
- ones. You can call soup_session_abort() after setting this
- if you want to ensure that all future connections will have
- this timeout value.
- Note that the default value of 60 seconds only applies to
- plain #SoupSessions. If you are using #SoupSessionAsync or
- #SoupSessionSync, the default value is 0 (meaning idle
- connections will never time out).</doc>
- <type name="guint" c:type="guint"/>
- </property>
- <property name="local-address"
- version="2.42"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Sets the #SoupAddress to use for the client side of
- the connection.
- Use this property if you want for instance to bind the
- local socket to a specific IP address.</doc>
- <type name="Address"/>
- </property>
- <property name="max-conns" writable="1" transfer-ownership="none">
- <type name="gint" c:type="gint"/>
- </property>
- <property name="max-conns-per-host"
- writable="1"
- transfer-ownership="none">
- <type name="gint" c:type="gint"/>
- </property>
- <property name="proxy-resolver"
- version="2.42"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">A #GProxyResolver to use with this session. Setting this
- will clear the #SoupSession:proxy-uri property, and remove
- any <type>SoupProxyURIResolver</type> features that have
- been added to the session.
- By default, in a plain #SoupSession, this is set to the
- default #GProxyResolver, but you can set it to %NULL if you
- don't want to use proxies, or set it to your own
- #GProxyResolver if you want to control what proxies get
- used.</doc>
- <type name="Gio.ProxyResolver"/>
- </property>
- <property name="proxy-uri" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">A proxy to use for all http and https requests in this
- session. Setting this will clear the
- #SoupSession:proxy-resolver property, and remove any
- <type>SoupProxyURIResolver</type> features that have been
- added to the session. Setting this property will also
- cancel all currently pending messages.
- Note that #SoupSession will normally handle looking up the
- user's proxy settings for you; you should only use
- #SoupSession:proxy-uri if you need to override the user's
- normal proxy settings.
- Also note that this proxy will be used for
- <emphasis>all</emphasis> requests; even requests to
- <literal>localhost</literal>. If you need more control over
- proxies, you can create a #GSimpleProxyResolver and set the
- #SoupSession:proxy-resolver property.</doc>
- <type name="URI"/>
- </property>
- <property name="remove-feature-by-type"
- version="2.24"
- introspectable="0"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Remove feature objects from the session. (Shortcut for
- calling soup_session_remove_feature_by_type().)</doc>
- <type name="GType" c:type="GType"/>
- </property>
- <property name="ssl-ca-file"
- deprecated="1"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">File containing SSL CA certificates.
- If the specified file does not exist or cannot be read,
- then libsoup will print a warning, and then behave as
- though it had read in a empty CA file, meaning that all SSL
- certificates will be considered invalid.</doc>
- <doc-deprecated xml:space="preserve">use #SoupSession:ssl-use-system-ca-file, or
- else #SoupSession:tls-database with a #GTlsFileDatabase
- (which allows you to do explicit error handling).</doc-deprecated>
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="ssl-strict"
- version="2.30"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Normally, if #SoupSession:tls-database is set (including if
- it was set via #SoupSession:ssl-use-system-ca-file or
- #SoupSession:ssl-ca-file), then libsoup will reject any
- certificate that is invalid (ie, expired) or that is not
- signed by one of the given CA certificates, and the
- #SoupMessage will fail with the status
- %SOUP_STATUS_SSL_FAILED.
- If you set #SoupSession:ssl-strict to %FALSE, then all
- certificates will be accepted, and you will need to call
- soup_message_get_https_status() to distinguish valid from
- invalid certificates. (This can be used, eg, if you want to
- accept invalid certificates after giving some sort of
- warning.)
- For a plain #SoupSession, if the session has no CA file or
- TLS database, and this property is %TRUE, then all
- certificates will be rejected. However, beware that the
- deprecated #SoupSession subclasses (#SoupSessionAsync and
- #SoupSessionSync) have the opposite behavior: if there is
- no CA file or TLS database, then all certificates are always
- accepted, and this property has no effect.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="ssl-use-system-ca-file"
- version="2.38"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Setting this to %TRUE is equivalent to setting
- #SoupSession:tls-database to the default system CA database.
- (and likewise, setting #SoupSession:tls-database to the
- default database by hand will cause this property to
- become %TRUE).
- Setting this to %FALSE (when it was previously %TRUE) will
- clear the #SoupSession:tls-database field.
- See #SoupSession:ssl-strict for more information on how
- https certificate validation is handled.
- Note that the default value of %TRUE only applies to plain
- #SoupSessions. If you are using #SoupSessionAsync or
- #SoupSessionSync, the default value is %FALSE, for backward
- compatibility.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="timeout" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">The timeout (in seconds) for socket I/O operations
- (including connecting to a server, and waiting for a reply
- to an HTTP request).
- Although you can change this property at any time, it will
- only affect newly-created connections, not currently-open
- ones. You can call soup_session_abort() after setting this
- if you want to ensure that all future connections will have
- this timeout value.
- Note that the default value of 60 seconds only applies to
- plain #SoupSessions. If you are using #SoupSessionAsync or
- #SoupSessionSync, the default value is 0 (meaning socket I/O
- will not time out).
- Not to be confused with #SoupSession:idle-timeout (which is
- the length of time that idle persistent connections will be
- kept open).</doc>
- <type name="guint" c:type="guint"/>
- </property>
- <property name="tls-database"
- version="2.38"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Sets the #GTlsDatabase to use for validating SSL/TLS
- certificates.
- Note that setting the #SoupSession:ssl-ca-file or
- #SoupSession:ssl-use-system-ca-file property will cause
- this property to be set to a #GTlsDatabase corresponding to
- the indicated file or system default.
- See #SoupSession:ssl-strict for more information on how
- https certificate validation is handled.
- If you are using a plain #SoupSession then
- #SoupSession:ssl-use-system-ca-file will be %TRUE by
- default, and so this property will be a copy of the system
- CA database. If you are using #SoupSessionAsync or
- #SoupSessionSync, this property will be %NULL by default.</doc>
- <type name="Gio.TlsDatabase"/>
- </property>
- <property name="tls-interaction"
- version="2.48"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">A #GTlsInteraction object that will be passed on to any
- #GTlsConnections created by the session. (This can be used to
- provide client-side certificates, for example.)</doc>
- <type name="Gio.TlsInteraction"/>
- </property>
- <property name="use-ntlm"
- deprecated="1"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Whether or not to use NTLM authentication.</doc>
- <doc-deprecated xml:space="preserve">use soup_session_add_feature_by_type() with
- #SOUP_TYPE_AUTH_NTLM.</doc-deprecated>
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="use-thread-context"
- version="2.38"
- writable="1"
- transfer-ownership="none">
- <doc xml:space="preserve">If %TRUE (which it always is on a plain #SoupSession),
- asynchronous HTTP requests in this session will run in
- whatever the thread-default #GMainContext is at the time
- they are started, rather than always occurring in
- #SoupSession:async-context.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="user-agent" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">If non-%NULL, the value to use for the "User-Agent" header
- on #SoupMessage<!-- -->s sent from this session.
- RFC 2616 says: "The User-Agent request-header field
- contains information about the user agent originating the
- request. This is for statistical purposes, the tracing of
- protocol violations, and automated recognition of user
- agents for the sake of tailoring responses to avoid
- particular user agent limitations. User agents SHOULD
- include this field with requests."
- The User-Agent header contains a list of one or more
- product tokens, separated by whitespace, with the most
- significant product token coming first. The tokens must be
- brief, ASCII, and mostly alphanumeric (although "-", "_",
- and "." are also allowed), and may optionally include a "/"
- followed by a version string. You may also put comments,
- enclosed in parentheses, between or after the tokens.
- If you set a #SoupSession:user_agent property that has trailing
- whitespace, #SoupSession will append its own product token
- (eg, "<literal>libsoup/2.3.2</literal>") to the end of the
- header for you.</doc>
- <type name="utf8" c:type="gchar*"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <glib:signal name="authenticate" when="first">
- <doc xml:space="preserve">Emitted when the session requires authentication. If
- credentials are available call soup_auth_authenticate() on
- @auth. If these credentials fail, the signal will be
- emitted again, with @retrying set to %TRUE, which will
- continue until you return without calling
- soup_auth_authenticate() on @auth.
- Note that this may be emitted before @msg's body has been
- fully read.
- If you call soup_session_pause_message() on @msg before
- returning, then you can authenticate @auth asynchronously
- (as long as you g_object_ref() it to make sure it doesn't
- get destroyed), and then unpause @msg when you are ready
- for it to continue.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupMessage being sent</doc>
- <type name="Message"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupAuth to authenticate</doc>
- <type name="Auth"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if this is the second (or later) attempt</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="connection-created" when="first" version="2.30">
- <doc xml:space="preserve">Emitted when a new connection is created. This is an
- internal signal intended only to be used for debugging
- purposes, and may go away in the future.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="connection" transfer-ownership="none">
- <doc xml:space="preserve">the connection</doc>
- <type name="GObject.Object"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="request-queued" when="first" version="2.24">
- <doc xml:space="preserve">Emitted when a request is queued on @session. (Note that
- "queued" doesn't just mean soup_session_queue_message();
- soup_session_send_message() implicitly queues the message
- as well.)
- When sending a request, first #SoupSession::request_queued
- is emitted, indicating that the session has become aware of
- the request.
- Once a connection is available to send the request on, the
- session emits #SoupSession::request_started. Then, various
- #SoupMessage signals are emitted as the message is
- processed. If the message is requeued, it will emit
- #SoupMessage::restarted, which will then be followed by
- another #SoupSession::request_started and another set of
- #SoupMessage signals when the message is re-sent.
- Eventually, the message will emit #SoupMessage::finished.
- Normally, this signals the completion of message
- processing. However, it is possible that the application
- will requeue the message from the "finished" handler (or
- equivalently, from the soup_session_queue_message()
- callback). In that case, the process will loop back to
- #SoupSession::request_started.
- Eventually, a message will reach "finished" and not be
- requeued. At that point, the session will emit
- #SoupSession::request_unqueued to indicate that it is done
- with the message.
- To sum up: #SoupSession::request_queued and
- #SoupSession::request_unqueued are guaranteed to be emitted
- exactly once, but #SoupSession::request_started and
- #SoupMessage::finished (and all of the other #SoupMessage
- signals) may be invoked multiple times for a given message.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the request that was queued</doc>
- <type name="Message"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="request-started"
- when="first"
- deprecated="1"
- deprecated-version="2.50.">
- <doc xml:space="preserve">Emitted just before a request is sent. See
- #SoupSession::request_queued for a detailed description of
- the message lifecycle within a session.</doc>
- <doc-deprecated xml:space="preserve">Use #SoupMessage::starting instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the request being sent</doc>
- <type name="Message"/>
- </parameter>
- <parameter name="socket" transfer-ownership="none">
- <doc xml:space="preserve">the socket the request is being sent on</doc>
- <type name="Socket"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="request-unqueued" when="first" version="2.24">
- <doc xml:space="preserve">Emitted when a request is removed from @session's queue,
- indicating that @session is done with it. See
- #SoupSession::request_queued for a detailed description of the
- message lifecycle within a session.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the request that was unqueued</doc>
- <type name="Message"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="tunneling" when="first" version="2.30">
- <doc xml:space="preserve">Emitted when an SSL tunnel is being created on a proxy
- connection. This is an internal signal intended only to be
- used for debugging purposes, and may go away in the future.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="connection" transfer-ownership="none">
- <doc xml:space="preserve">the connection</doc>
- <type name="GObject.Object"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <class name="SessionAsync"
- c:symbol-prefix="session_async"
- c:type="SoupSessionAsync"
- parent="Session"
- glib:type-name="SoupSessionAsync"
- glib:get-type="soup_session_async_get_type"
- glib:type-struct="SessionAsyncClass">
- <constructor name="new"
- c:identifier="soup_session_async_new"
- deprecated="1">
- <doc xml:space="preserve">Creates an asynchronous #SoupSession with the default options.</doc>
- <doc-deprecated xml:space="preserve">#SoupSessionAsync is deprecated; use a plain
- #SoupSession, created with soup_session_new(). See the <link
- linkend="libsoup-session-porting">porting guide</link>.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new session.</doc>
- <type name="Session" c:type="SoupSession*"/>
- </return-value>
- </constructor>
- <constructor name="new_with_options"
- c:identifier="soup_session_async_new_with_options"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Creates an asynchronous #SoupSession with the specified options.</doc>
- <doc-deprecated xml:space="preserve">#SoupSessionAsync is deprecated; use a plain
- #SoupSession, created with soup_session_new_with_options(). See the
- <link linkend="libsoup-session-porting">porting guide</link>.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new session.</doc>
- <type name="Session" c:type="SoupSession*"/>
- </return-value>
- <parameters>
- <parameter name="optname1" transfer-ownership="none">
- <doc xml:space="preserve">name of first property to set</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value of @optname1, followed by additional property/value pairs</doc>
- <varargs/>
- </parameter>
- </parameters>
- </constructor>
- <field name="parent">
- <type name="Session" c:type="SoupSession"/>
- </field>
- </class>
- <record name="SessionAsyncClass"
- c:type="SoupSessionAsyncClass"
- glib:is-gtype-struct-for="SessionAsync">
- <field name="parent_class">
- <type name="SessionClass" c:type="SoupSessionClass"/>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <callback name="SessionCallback" c:type="SoupSessionCallback">
- <doc xml:space="preserve">Prototype for the callback passed to soup_session_queue_message(),
- qv.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">the session</doc>
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message that has finished</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">the data passed to soup_session_queue_message</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="SessionClass"
- c:type="SoupSessionClass"
- glib:is-gtype-struct-for="Session">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="request_started">
- <callback name="request_started">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="socket" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="authenticate">
- <callback name="authenticate">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="queue_message">
- <callback name="queue_message">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="full">
- <doc xml:space="preserve">the message to queue</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- scope="async"
- closure="3">
- <doc xml:space="preserve">a #SoupSessionCallback which will
- be called after the message completes or when an unrecoverable error occurs.</doc>
- <type name="SessionCallback" c:type="SoupSessionCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="3">
- <doc xml:space="preserve">a pointer passed to @callback.</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="requeue_message">
- <callback name="requeue_message">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to requeue</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="send_message">
- <callback name="send_message">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the HTTP status code of the response</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to send</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="cancel_message">
- <callback name="cancel_message">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSession</doc>
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">the message to cancel</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">status code to set on @msg (generally
- %SOUP_STATUS_CANCELLED)</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="auth_required">
- <callback name="auth_required">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="auth" transfer-ownership="none">
- <type name="Auth" c:type="SoupAuth*"/>
- </parameter>
- <parameter name="retrying" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="flush_queue">
- <callback name="flush_queue">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="kick">
- <callback name="kick">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <interface name="SessionFeature"
- c:symbol-prefix="session_feature"
- c:type="SoupSessionFeature"
- version="2.24"
- glib:type-name="SoupSessionFeature"
- glib:get-type="soup_session_feature_get_type"
- glib:type-struct="SessionFeatureInterface">
- <doc xml:space="preserve">An object that implement some sort of optional feature for
- #SoupSession.</doc>
- <virtual-method name="add_feature" invoker="add_feature" version="2.34">
- <doc xml:space="preserve">Adds a "sub-feature" of type @type to the base feature @feature.
- This is used for features that can be extended with multiple
- different types. Eg, the authentication manager can be extended
- with subtypes of #SoupAuth.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @feature accepted @type as a subfeature.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">the "base" feature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a "sub-feature"</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="attach" invoker="attach">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="detach" invoker="detach">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="has_feature" invoker="has_feature" version="2.34">
- <doc xml:space="preserve">Tests if @feature has a "sub-feature" of type @type. See
- soup_session_feature_add_feature().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @feature has a subfeature of type @type</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">the "base" feature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a "sub-feature"</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="remove_feature"
- invoker="remove_feature"
- version="2.34">
- <doc xml:space="preserve">Removes the "sub-feature" of type @type from the base feature
- @feature. See soup_session_feature_add_feature().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @type was removed from @feature</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">the "base" feature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a "sub-feature"</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="request_queued">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="request_started">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="socket" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="request_unqueued">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="add_feature"
- c:identifier="soup_session_feature_add_feature"
- version="2.34">
- <doc xml:space="preserve">Adds a "sub-feature" of type @type to the base feature @feature.
- This is used for features that can be extended with multiple
- different types. Eg, the authentication manager can be extended
- with subtypes of #SoupAuth.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @feature accepted @type as a subfeature.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">the "base" feature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a "sub-feature"</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="attach" c:identifier="soup_session_feature_attach">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </method>
- <method name="detach" c:identifier="soup_session_feature_detach">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </method>
- <method name="has_feature"
- c:identifier="soup_session_feature_has_feature"
- version="2.34">
- <doc xml:space="preserve">Tests if @feature has a "sub-feature" of type @type. See
- soup_session_feature_add_feature().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @feature has a subfeature of type @type</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">the "base" feature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a "sub-feature"</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- <method name="remove_feature"
- c:identifier="soup_session_feature_remove_feature"
- version="2.34">
- <doc xml:space="preserve">Removes the "sub-feature" of type @type from the base feature
- @feature. See soup_session_feature_add_feature().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @type was removed from @feature</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">the "base" feature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </instance-parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a "sub-feature"</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </method>
- </interface>
- <record name="SessionFeatureInterface"
- c:type="SoupSessionFeatureInterface"
- glib:is-gtype-struct-for="SessionFeature"
- version="2.24">
- <doc xml:space="preserve">The interface implemented by #SoupSessionFeature<!-- -->s.</doc>
- <field name="parent">
- <doc xml:space="preserve">The parent interface.</doc>
- <type name="GObject.TypeInterface" c:type="GTypeInterface"/>
- </field>
- <field name="attach">
- <callback name="attach">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="detach">
- <callback name="detach">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="request_queued">
- <callback name="request_queued">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="request_started">
- <callback name="request_started">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="socket" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="request_unqueued">
- <callback name="request_unqueued">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- <parameter name="session" transfer-ownership="none">
- <type name="Session" c:type="SoupSession*"/>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="add_feature">
- <callback name="add_feature">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @feature accepted @type as a subfeature.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">the "base" feature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a "sub-feature"</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="remove_feature">
- <callback name="remove_feature">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @type was removed from @feature</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">the "base" feature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a "sub-feature"</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="has_feature">
- <callback name="has_feature">
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @feature has a subfeature of type @type</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="feature" transfer-ownership="none">
- <doc xml:space="preserve">the "base" feature</doc>
- <type name="SessionFeature" c:type="SoupSessionFeature*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the #GType of a "sub-feature"</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <class name="SessionSync"
- c:symbol-prefix="session_sync"
- c:type="SoupSessionSync"
- parent="Session"
- glib:type-name="SoupSessionSync"
- glib:get-type="soup_session_sync_get_type"
- glib:type-struct="SessionSyncClass">
- <constructor name="new"
- c:identifier="soup_session_sync_new"
- deprecated="1">
- <doc xml:space="preserve">Creates an synchronous #SoupSession with the default options.</doc>
- <doc-deprecated xml:space="preserve">#SoupSessionSync is deprecated; use a plain
- #SoupSession, created with soup_session_new(). See the <link
- linkend="libsoup-session-porting">porting guide</link>.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new session.</doc>
- <type name="Session" c:type="SoupSession*"/>
- </return-value>
- </constructor>
- <constructor name="new_with_options"
- c:identifier="soup_session_sync_new_with_options"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Creates an synchronous #SoupSession with the specified options.</doc>
- <doc-deprecated xml:space="preserve">#SoupSessionSync is deprecated; use a plain
- #SoupSession, created with soup_session_new_with_options(). See the
- <link linkend="libsoup-session-porting">porting guide</link>.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new session.</doc>
- <type name="Session" c:type="SoupSession*"/>
- </return-value>
- <parameters>
- <parameter name="optname1" transfer-ownership="none">
- <doc xml:space="preserve">name of first property to set</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value of @optname1, followed by additional property/value pairs</doc>
- <varargs/>
- </parameter>
- </parameters>
- </constructor>
- <field name="parent">
- <type name="Session" c:type="SoupSession"/>
- </field>
- </class>
- <record name="SessionSyncClass"
- c:type="SoupSessionSyncClass"
- glib:is-gtype-struct-for="SessionSync">
- <field name="parent_class">
- <type name="SessionClass" c:type="SoupSessionClass"/>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <class name="Socket"
- c:symbol-prefix="socket"
- c:type="SoupSocket"
- parent="GObject.Object"
- glib:type-name="SoupSocket"
- glib:get-type="soup_socket_get_type"
- glib:type-struct="SocketClass">
- <implements name="Gio.Initable"/>
- <constructor name="new"
- c:identifier="soup_socket_new"
- introspectable="0">
- <doc xml:space="preserve">Creates a new (disconnected) socket</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new socket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </return-value>
- <parameters>
- <parameter name="optname1" transfer-ownership="none">
- <doc xml:space="preserve">name of first property to set (or %NULL)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value of @optname1, followed by additional property/value pairs</doc>
- <varargs/>
- </parameter>
- </parameters>
- </constructor>
- <virtual-method name="disconnected">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="new_connection">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="listener" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- <parameter name="new_sock" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="readable">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="writable">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <method name="connect_async" c:identifier="soup_socket_connect_async">
- <doc xml:space="preserve">Begins asynchronously connecting to @sock's remote address. The
- socket will call @callback when it succeeds or fails (but not
- before returning from this function).
- If @cancellable is non-%NULL, it can be used to cancel the
- connection. @callback will still be invoked in this case, with a
- status of %SOUP_STATUS_CANCELLED.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">a client #SoupSocket (which must not already be connected)</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- <parameter name="callback"
- transfer-ownership="none"
- scope="async"
- closure="2">
- <doc xml:space="preserve">callback to call after connecting</doc>
- <type name="SocketCallback" c:type="SoupSocketCallback"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">data to pass to @callback</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="connect_sync" c:identifier="soup_socket_connect_sync">
- <doc xml:space="preserve">Attempt to synchronously connect @sock to its remote address.
- If @cancellable is non-%NULL, it can be used to cancel the
- connection, in which case soup_socket_connect_sync() will return
- %SOUP_STATUS_CANCELLED.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a success or failure code.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">a client #SoupSocket (which must not already be connected)</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <method name="disconnect" c:identifier="soup_socket_disconnect">
- <doc xml:space="preserve">Disconnects @sock. Any further read or write attempts on it will
- fail.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSocket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_fd" c:identifier="soup_socket_get_fd">
- <doc xml:space="preserve">Gets @sock's underlying file descriptor.
- Note that fiddling with the file descriptor may break the
- #SoupSocket.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@sock's file descriptor.</doc>
- <type name="gint" c:type="int"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSocket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_local_address"
- c:identifier="soup_socket_get_local_address">
- <doc xml:space="preserve">Returns the #SoupAddress corresponding to the local end of @sock.
- Calling this method on an unconnected socket is considered to be
- an error, and produces undefined results.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSocket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_remote_address"
- c:identifier="soup_socket_get_remote_address">
- <doc xml:space="preserve">Returns the #SoupAddress corresponding to the remote end of @sock.
- Calling this method on an unconnected socket is considered to be
- an error, and produces undefined results.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the #SoupAddress</doc>
- <type name="Address" c:type="SoupAddress*"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSocket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_connected" c:identifier="soup_socket_is_connected">
- <doc xml:space="preserve">Tests if @sock is connected to another host</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE or %FALSE.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSocket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="is_ssl" c:identifier="soup_socket_is_ssl">
- <doc xml:space="preserve">Tests if @sock is doing (or has attempted to do) SSL.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @sock has SSL credentials set</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSocket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="listen" c:identifier="soup_socket_listen">
- <doc xml:space="preserve">Makes @sock start listening on its local address. When connections
- come in, @sock will emit #SoupSocket::new_connection.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether or not @sock is now listening.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">a server #SoupSocket (which must not already be connected or
- listening)</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="read" c:identifier="soup_socket_read" throws="1">
- <doc xml:space="preserve">Attempts to read up to @len bytes from @sock into @buffer. If some
- data is successfully read, soup_socket_read() will return
- %SOUP_SOCKET_OK, and *@nread will contain the number of bytes
- actually read (which may be less than @len).
- If @sock is non-blocking, and no data is available, the return
- value will be %SOUP_SOCKET_WOULD_BLOCK. In this case, the caller
- can connect to the #SoupSocket::readable signal to know when there
- is more data to read. (NB: You MUST read all available data off the
- socket first. #SoupSocket::readable is only emitted after
- soup_socket_read() returns %SOUP_SOCKET_WOULD_BLOCK, and it is only
- emitted once. See the documentation for #SoupSocket:non-blocking.)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSocketIOStatus, as described above (or
- %SOUP_SOCKET_EOF if the socket is no longer connected, or
- %SOUP_SOCKET_ERROR on any other error, in which case @error will
- also be set).</doc>
- <type name="SocketIOStatus" c:type="SoupSocketIOStatus"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">the socket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- <parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">buffer to read
- into</doc>
- <array length="1" zero-terminated="0" c:type="gpointer">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">size of @buffer in bytes</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- <parameter name="nread"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on return, the number of bytes read into @buffer</doc>
- <type name="gsize" c:type="gsize*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <method name="read_until"
- c:identifier="soup_socket_read_until"
- throws="1">
- <doc xml:space="preserve">Like soup_socket_read(), but reads no further than the first
- occurrence of @boundary. (If the boundary is found, it will be
- included in the returned data, and *@got_boundary will be set to
- %TRUE.) Any data after the boundary will returned in future reads.
- soup_socket_read_until() will almost always return fewer than @len
- bytes: if the boundary is found, then it will only return the bytes
- up until the end of the boundary, and if the boundary is not found,
- then it will leave the last <literal>(boundary_len - 1)</literal>
- bytes in its internal buffer, in case they form the start of the
- boundary string. Thus, @len normally needs to be at least 1 byte
- longer than @boundary_len if you want to make any progress at all.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">as for soup_socket_read()</doc>
- <type name="SocketIOStatus" c:type="SoupSocketIOStatus"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">the socket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- <parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">buffer to read
- into</doc>
- <array length="1" zero-terminated="0" c:type="gpointer">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">size of @buffer in bytes</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- <parameter name="boundary"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">boundary to read until</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- <parameter name="boundary_len" transfer-ownership="none">
- <doc xml:space="preserve">length of @boundary in bytes</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- <parameter name="nread"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on return, the number of bytes read into @buffer</doc>
- <type name="gsize" c:type="gsize*"/>
- </parameter>
- <parameter name="got_boundary" transfer-ownership="none">
- <doc xml:space="preserve">on return, whether or not the data in @buffer
- ends with the boundary string</doc>
- <type name="gboolean" c:type="gboolean*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <method name="start_proxy_ssl"
- c:identifier="soup_socket_start_proxy_ssl">
- <doc xml:space="preserve">Starts using SSL on @socket, expecting to find a host named
- @ssl_host.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">success or failure</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">the socket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- <parameter name="ssl_host" transfer-ownership="none">
- <doc xml:space="preserve">hostname of the SSL server</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <method name="start_ssl" c:identifier="soup_socket_start_ssl">
- <doc xml:space="preserve">Starts using SSL on @socket.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">success or failure</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">the socket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <method name="write" c:identifier="soup_socket_write" throws="1">
- <doc xml:space="preserve">Attempts to write @len bytes from @buffer to @sock. If some data is
- successfully written, the return status will be %SOUP_SOCKET_OK,
- and *@nwrote will contain the number of bytes actually written
- (which may be less than @len).
- If @sock is non-blocking, and no data could be written right away,
- the return value will be %SOUP_SOCKET_WOULD_BLOCK. In this case,
- the caller can connect to the #SoupSocket::writable signal to know
- when more data can be written. (NB: #SoupSocket::writable is only
- emitted after soup_socket_write() returns %SOUP_SOCKET_WOULD_BLOCK,
- and it is only emitted once. See the documentation for
- #SoupSocket:non-blocking.)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a #SoupSocketIOStatus, as described above (or
- %SOUP_SOCKET_EOF or %SOUP_SOCKET_ERROR. @error will be set if the
- return value is %SOUP_SOCKET_ERROR.)</doc>
- <type name="SocketIOStatus" c:type="SoupSocketIOStatus"/>
- </return-value>
- <parameters>
- <instance-parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">the socket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </instance-parameter>
- <parameter name="buffer" transfer-ownership="none">
- <doc xml:space="preserve">data to write</doc>
- <array length="1" zero-terminated="0" c:type="gconstpointer">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">size of @buffer, in bytes</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- <parameter name="nwrote"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on return, number of bytes written</doc>
- <type name="gsize" c:type="gsize*"/>
- </parameter>
- <parameter name="cancellable"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a #GCancellable, or %NULL</doc>
- <type name="Gio.Cancellable" c:type="GCancellable*"/>
- </parameter>
- </parameters>
- </method>
- <property name="async-context"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="fd"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gint" c:type="gint"/>
- </property>
- <property name="gsocket"
- readable="0"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="Gio.Socket"/>
- </property>
- <property name="iostream"
- readable="0"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="Gio.IOStream"/>
- </property>
- <property name="ipv6-only" writable="1" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="is-server" transfer-ownership="none">
- <doc xml:space="preserve">Whether or not the socket is a server socket.
- Note that for "ordinary" #SoupSockets this will be set for
- both listening sockets and the sockets emitted by
- #SoupSocket::new-connection, but for sockets created by
- setting #SoupSocket:fd, it will only be set for listening
- sockets.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="local-address"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="Address"/>
- </property>
- <property name="non-blocking" writable="1" transfer-ownership="none">
- <doc xml:space="preserve">Whether or not the socket uses non-blocking I/O.
- #SoupSocket's I/O methods are designed around the idea of
- using a single codepath for both synchronous and
- asynchronous I/O. If you want to read off a #SoupSocket,
- the "correct" way to do it is to call soup_socket_read() or
- soup_socket_read_until() repeatedly until you have read
- everything you want. If it returns %SOUP_SOCKET_WOULD_BLOCK
- at any point, stop reading and wait for it to emit the
- #SoupSocket::readable signal. Then go back to the
- reading-as-much-as-you-can loop. Likewise, for writing to a
- #SoupSocket, you should call soup_socket_write() either
- until you have written everything, or it returns
- %SOUP_SOCKET_WOULD_BLOCK (in which case you wait for
- #SoupSocket::writable and then go back into the loop).
- Code written this way will work correctly with both
- blocking and non-blocking sockets; blocking sockets will
- simply never return %SOUP_SOCKET_WOULD_BLOCK, and so the
- code that handles that case just won't get used for them.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="remote-address"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="Address"/>
- </property>
- <property name="socket-properties"
- introspectable="0"
- readable="0"
- writable="1"
- transfer-ownership="none">
- <type/>
- </property>
- <property name="ssl-creds" writable="1" transfer-ownership="none">
- <type name="gpointer" c:type="gpointer"/>
- </property>
- <property name="ssl-fallback"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="ssl-strict"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="timeout" writable="1" transfer-ownership="none">
- <type name="guint" c:type="guint"/>
- </property>
- <property name="tls-certificate" transfer-ownership="none">
- <type name="Gio.TlsCertificate"/>
- </property>
- <property name="tls-errors" transfer-ownership="none">
- <type name="Gio.TlsCertificateFlags"/>
- </property>
- <property name="trusted-certificate" transfer-ownership="none">
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <property name="use-thread-context"
- version="2.38"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">Use g_main_context_get_thread_default().</doc>
- <type name="gboolean" c:type="gboolean"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <glib:signal name="disconnected" when="last">
- <doc xml:space="preserve">Emitted when the socket is disconnected, for whatever
- reason.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="event" when="last" version="2.38">
- <doc xml:space="preserve">Emitted when a network-related event occurs. See
- #GSocketClient::event for more details.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="event" transfer-ownership="none">
- <doc xml:space="preserve">the event that occurred</doc>
- <type name="Gio.SocketClientEvent"/>
- </parameter>
- <parameter name="connection" transfer-ownership="none">
- <doc xml:space="preserve">the current connection state</doc>
- <type name="Gio.IOStream"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="new-connection" when="first">
- <doc xml:space="preserve">Emitted when a listening socket (set up with
- soup_socket_listen()) receives a new connection.
- You must ref the @new if you want to keep it; otherwise it
- will be destroyed after the signal is emitted.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="new" transfer-ownership="none">
- <doc xml:space="preserve">the new socket</doc>
- <type name="Socket"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="readable" when="last">
- <doc xml:space="preserve">Emitted when an async socket is readable. See
- soup_socket_read(), soup_socket_read_until() and
- #SoupSocket:non-blocking.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="writable" when="last">
- <doc xml:space="preserve">Emitted when an async socket is writable. See
- soup_socket_write() and #SoupSocket:non-blocking.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- </class>
- <callback name="SocketCallback" c:type="SoupSocketCallback">
- <doc xml:space="preserve">The callback function passed to soup_socket_connect_async().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sock" transfer-ownership="none">
- <doc xml:space="preserve">the #SoupSocket</doc>
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- <parameter name="status" transfer-ownership="none">
- <doc xml:space="preserve">an HTTP status code indicating success or failure</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="user_data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1"
- closure="2">
- <doc xml:space="preserve">the data passed to soup_socket_connect_async()</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </callback>
- <record name="SocketClass"
- c:type="SoupSocketClass"
- glib:is-gtype-struct-for="Socket">
- <field name="parent_class">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="readable">
- <callback name="readable">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sock" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="writable">
- <callback name="writable">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sock" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="disconnected">
- <callback name="disconnected">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="sock" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="new_connection">
- <callback name="new_connection">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="listener" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- <parameter name="new_sock" transfer-ownership="none">
- <type name="Socket" c:type="SoupSocket*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="_libsoup_reserved1" introspectable="0">
- <callback name="_libsoup_reserved1">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved2" introspectable="0">
- <callback name="_libsoup_reserved2">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved3" introspectable="0">
- <callback name="_libsoup_reserved3">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- <field name="_libsoup_reserved4" introspectable="0">
- <callback name="_libsoup_reserved4">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </callback>
- </field>
- </record>
- <enumeration name="SocketIOStatus"
- glib:type-name="SoupSocketIOStatus"
- glib:get-type="soup_socket_io_status_get_type"
- c:type="SoupSocketIOStatus">
- <doc xml:space="preserve">Return value from the #SoupSocket IO methods.</doc>
- <member name="ok" value="0" c:identifier="SOUP_SOCKET_OK" glib:nick="ok">
- <doc xml:space="preserve">Success</doc>
- </member>
- <member name="would_block"
- value="1"
- c:identifier="SOUP_SOCKET_WOULD_BLOCK"
- glib:nick="would-block">
- <doc xml:space="preserve">Cannot read/write any more at this time</doc>
- </member>
- <member name="eof"
- value="2"
- c:identifier="SOUP_SOCKET_EOF"
- glib:nick="eof">
- <doc xml:space="preserve">End of file</doc>
- </member>
- <member name="error"
- value="3"
- c:identifier="SOUP_SOCKET_ERROR"
- glib:nick="error">
- <doc xml:space="preserve">Other error</doc>
- </member>
- </enumeration>
- <enumeration name="Status"
- glib:type-name="SoupStatus"
- glib:get-type="soup_status_get_type"
- c:type="SoupStatus">
- <doc xml:space="preserve">These represent the known HTTP status code values, plus various
- network and internal errors.
- Note that no libsoup functions take or return this type directly;
- any function that works with status codes will accept unrecognized
- status codes as well.
- Prior to 2.44 this type was called
- <literal>SoupKnownStatusCode</literal>, but the individual values
- have always had the names they have now.</doc>
- <member name="none"
- value="0"
- c:identifier="SOUP_STATUS_NONE"
- glib:nick="none">
- <doc xml:space="preserve">No status available. (Eg, the message has not
- been sent yet)</doc>
- </member>
- <member name="cancelled"
- value="1"
- c:identifier="SOUP_STATUS_CANCELLED"
- glib:nick="cancelled">
- <doc xml:space="preserve">Message was cancelled locally</doc>
- </member>
- <member name="cant_resolve"
- value="2"
- c:identifier="SOUP_STATUS_CANT_RESOLVE"
- glib:nick="cant-resolve">
- <doc xml:space="preserve">Unable to resolve destination host name</doc>
- </member>
- <member name="cant_resolve_proxy"
- value="3"
- c:identifier="SOUP_STATUS_CANT_RESOLVE_PROXY"
- glib:nick="cant-resolve-proxy">
- <doc xml:space="preserve">Unable to resolve proxy host name</doc>
- </member>
- <member name="cant_connect"
- value="4"
- c:identifier="SOUP_STATUS_CANT_CONNECT"
- glib:nick="cant-connect">
- <doc xml:space="preserve">Unable to connect to remote host</doc>
- </member>
- <member name="cant_connect_proxy"
- value="5"
- c:identifier="SOUP_STATUS_CANT_CONNECT_PROXY"
- glib:nick="cant-connect-proxy">
- <doc xml:space="preserve">Unable to connect to proxy</doc>
- </member>
- <member name="ssl_failed"
- value="6"
- c:identifier="SOUP_STATUS_SSL_FAILED"
- glib:nick="ssl-failed">
- <doc xml:space="preserve">SSL/TLS negotiation failed</doc>
- </member>
- <member name="io_error"
- value="7"
- c:identifier="SOUP_STATUS_IO_ERROR"
- glib:nick="io-error">
- <doc xml:space="preserve">A network error occurred, or the other end
- closed the connection unexpectedly</doc>
- </member>
- <member name="malformed"
- value="8"
- c:identifier="SOUP_STATUS_MALFORMED"
- glib:nick="malformed">
- <doc xml:space="preserve">Malformed data (usually a programmer error)</doc>
- </member>
- <member name="try_again"
- value="9"
- c:identifier="SOUP_STATUS_TRY_AGAIN"
- glib:nick="try-again">
- <doc xml:space="preserve">Used internally</doc>
- </member>
- <member name="too_many_redirects"
- value="10"
- c:identifier="SOUP_STATUS_TOO_MANY_REDIRECTS"
- glib:nick="too-many-redirects">
- <doc xml:space="preserve">There were too many redirections</doc>
- </member>
- <member name="tls_failed"
- value="11"
- c:identifier="SOUP_STATUS_TLS_FAILED"
- glib:nick="tls-failed">
- <doc xml:space="preserve">Used internally</doc>
- </member>
- <member name="continue"
- value="100"
- c:identifier="SOUP_STATUS_CONTINUE"
- glib:nick="continue">
- <doc xml:space="preserve">100 Continue (HTTP)</doc>
- </member>
- <member name="switching_protocols"
- value="101"
- c:identifier="SOUP_STATUS_SWITCHING_PROTOCOLS"
- glib:nick="switching-protocols">
- <doc xml:space="preserve">101 Switching Protocols (HTTP)</doc>
- </member>
- <member name="processing"
- value="102"
- c:identifier="SOUP_STATUS_PROCESSING"
- glib:nick="processing">
- <doc xml:space="preserve">102 Processing (WebDAV)</doc>
- </member>
- <member name="ok"
- value="200"
- c:identifier="SOUP_STATUS_OK"
- glib:nick="ok">
- <doc xml:space="preserve">200 Success (HTTP). Also used by many lower-level
- soup routines to indicate success.</doc>
- </member>
- <member name="created"
- value="201"
- c:identifier="SOUP_STATUS_CREATED"
- glib:nick="created">
- <doc xml:space="preserve">201 Created (HTTP)</doc>
- </member>
- <member name="accepted"
- value="202"
- c:identifier="SOUP_STATUS_ACCEPTED"
- glib:nick="accepted">
- <doc xml:space="preserve">202 Accepted (HTTP)</doc>
- </member>
- <member name="non_authoritative"
- value="203"
- c:identifier="SOUP_STATUS_NON_AUTHORITATIVE"
- glib:nick="non-authoritative">
- <doc xml:space="preserve">203 Non-Authoritative Information
- (HTTP)</doc>
- </member>
- <member name="no_content"
- value="204"
- c:identifier="SOUP_STATUS_NO_CONTENT"
- glib:nick="no-content">
- <doc xml:space="preserve">204 No Content (HTTP)</doc>
- </member>
- <member name="reset_content"
- value="205"
- c:identifier="SOUP_STATUS_RESET_CONTENT"
- glib:nick="reset-content">
- <doc xml:space="preserve">205 Reset Content (HTTP)</doc>
- </member>
- <member name="partial_content"
- value="206"
- c:identifier="SOUP_STATUS_PARTIAL_CONTENT"
- glib:nick="partial-content">
- <doc xml:space="preserve">206 Partial Content (HTTP)</doc>
- </member>
- <member name="multi_status"
- value="207"
- c:identifier="SOUP_STATUS_MULTI_STATUS"
- glib:nick="multi-status">
- <doc xml:space="preserve">207 Multi-Status (WebDAV)</doc>
- </member>
- <member name="multiple_choices"
- value="300"
- c:identifier="SOUP_STATUS_MULTIPLE_CHOICES"
- glib:nick="multiple-choices">
- <doc xml:space="preserve">300 Multiple Choices (HTTP)</doc>
- </member>
- <member name="moved_permanently"
- value="301"
- c:identifier="SOUP_STATUS_MOVED_PERMANENTLY"
- glib:nick="moved-permanently">
- <doc xml:space="preserve">301 Moved Permanently (HTTP)</doc>
- </member>
- <member name="found"
- value="302"
- c:identifier="SOUP_STATUS_FOUND"
- glib:nick="found">
- <doc xml:space="preserve">302 Found (HTTP)</doc>
- </member>
- <member name="moved_temporarily"
- value="302"
- c:identifier="SOUP_STATUS_MOVED_TEMPORARILY"
- glib:nick="moved-temporarily">
- <doc xml:space="preserve">302 Moved Temporarily (old name,
- RFC 2068)</doc>
- </member>
- <member name="see_other"
- value="303"
- c:identifier="SOUP_STATUS_SEE_OTHER"
- glib:nick="see-other">
- <doc xml:space="preserve">303 See Other (HTTP)</doc>
- </member>
- <member name="not_modified"
- value="304"
- c:identifier="SOUP_STATUS_NOT_MODIFIED"
- glib:nick="not-modified">
- <doc xml:space="preserve">304 Not Modified (HTTP)</doc>
- </member>
- <member name="use_proxy"
- value="305"
- c:identifier="SOUP_STATUS_USE_PROXY"
- glib:nick="use-proxy">
- <doc xml:space="preserve">305 Use Proxy (HTTP)</doc>
- </member>
- <member name="not_appearing_in_this_protocol"
- value="306"
- c:identifier="SOUP_STATUS_NOT_APPEARING_IN_THIS_PROTOCOL"
- glib:nick="not-appearing-in-this-protocol">
- <doc xml:space="preserve">306 [Unused] (HTTP)</doc>
- </member>
- <member name="temporary_redirect"
- value="307"
- c:identifier="SOUP_STATUS_TEMPORARY_REDIRECT"
- glib:nick="temporary-redirect">
- <doc xml:space="preserve">307 Temporary Redirect (HTTP)</doc>
- </member>
- <member name="bad_request"
- value="400"
- c:identifier="SOUP_STATUS_BAD_REQUEST"
- glib:nick="bad-request">
- <doc xml:space="preserve">400 Bad Request (HTTP)</doc>
- </member>
- <member name="unauthorized"
- value="401"
- c:identifier="SOUP_STATUS_UNAUTHORIZED"
- glib:nick="unauthorized">
- <doc xml:space="preserve">401 Unauthorized (HTTP)</doc>
- </member>
- <member name="payment_required"
- value="402"
- c:identifier="SOUP_STATUS_PAYMENT_REQUIRED"
- glib:nick="payment-required">
- <doc xml:space="preserve">402 Payment Required (HTTP)</doc>
- </member>
- <member name="forbidden"
- value="403"
- c:identifier="SOUP_STATUS_FORBIDDEN"
- glib:nick="forbidden">
- <doc xml:space="preserve">403 Forbidden (HTTP)</doc>
- </member>
- <member name="not_found"
- value="404"
- c:identifier="SOUP_STATUS_NOT_FOUND"
- glib:nick="not-found">
- <doc xml:space="preserve">404 Not Found (HTTP)</doc>
- </member>
- <member name="method_not_allowed"
- value="405"
- c:identifier="SOUP_STATUS_METHOD_NOT_ALLOWED"
- glib:nick="method-not-allowed">
- <doc xml:space="preserve">405 Method Not Allowed (HTTP)</doc>
- </member>
- <member name="not_acceptable"
- value="406"
- c:identifier="SOUP_STATUS_NOT_ACCEPTABLE"
- glib:nick="not-acceptable">
- <doc xml:space="preserve">406 Not Acceptable (HTTP)</doc>
- </member>
- <member name="proxy_authentication_required"
- value="407"
- c:identifier="SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED"
- glib:nick="proxy-authentication-required">
- <doc xml:space="preserve">407 Proxy Authentication
- Required (HTTP)</doc>
- </member>
- <member name="proxy_unauthorized"
- value="407"
- c:identifier="SOUP_STATUS_PROXY_UNAUTHORIZED"
- glib:nick="proxy-unauthorized">
- <doc xml:space="preserve">shorter alias for
- %SOUP_STATUS_PROXY_AUTHENTICATION_REQUIRED</doc>
- </member>
- <member name="request_timeout"
- value="408"
- c:identifier="SOUP_STATUS_REQUEST_TIMEOUT"
- glib:nick="request-timeout">
- <doc xml:space="preserve">408 Request Timeout (HTTP)</doc>
- </member>
- <member name="conflict"
- value="409"
- c:identifier="SOUP_STATUS_CONFLICT"
- glib:nick="conflict">
- <doc xml:space="preserve">409 Conflict (HTTP)</doc>
- </member>
- <member name="gone"
- value="410"
- c:identifier="SOUP_STATUS_GONE"
- glib:nick="gone">
- <doc xml:space="preserve">410 Gone (HTTP)</doc>
- </member>
- <member name="length_required"
- value="411"
- c:identifier="SOUP_STATUS_LENGTH_REQUIRED"
- glib:nick="length-required">
- <doc xml:space="preserve">411 Length Required (HTTP)</doc>
- </member>
- <member name="precondition_failed"
- value="412"
- c:identifier="SOUP_STATUS_PRECONDITION_FAILED"
- glib:nick="precondition-failed">
- <doc xml:space="preserve">412 Precondition Failed (HTTP)</doc>
- </member>
- <member name="request_entity_too_large"
- value="413"
- c:identifier="SOUP_STATUS_REQUEST_ENTITY_TOO_LARGE"
- glib:nick="request-entity-too-large">
- <doc xml:space="preserve">413 Request Entity Too Large
- (HTTP)</doc>
- </member>
- <member name="request_uri_too_long"
- value="414"
- c:identifier="SOUP_STATUS_REQUEST_URI_TOO_LONG"
- glib:nick="request-uri-too-long">
- <doc xml:space="preserve">414 Request-URI Too Long (HTTP)</doc>
- </member>
- <member name="unsupported_media_type"
- value="415"
- c:identifier="SOUP_STATUS_UNSUPPORTED_MEDIA_TYPE"
- glib:nick="unsupported-media-type">
- <doc xml:space="preserve">415 Unsupported Media Type
- (HTTP)</doc>
- </member>
- <member name="requested_range_not_satisfiable"
- value="416"
- c:identifier="SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE"
- glib:nick="requested-range-not-satisfiable">
- <doc xml:space="preserve">416 Requested Range
- Not Satisfiable (HTTP)</doc>
- </member>
- <member name="invalid_range"
- value="416"
- c:identifier="SOUP_STATUS_INVALID_RANGE"
- glib:nick="invalid-range">
- <doc xml:space="preserve">shorter alias for
- %SOUP_STATUS_REQUESTED_RANGE_NOT_SATISFIABLE</doc>
- </member>
- <member name="expectation_failed"
- value="417"
- c:identifier="SOUP_STATUS_EXPECTATION_FAILED"
- glib:nick="expectation-failed">
- <doc xml:space="preserve">417 Expectation Failed (HTTP)</doc>
- </member>
- <member name="unprocessable_entity"
- value="422"
- c:identifier="SOUP_STATUS_UNPROCESSABLE_ENTITY"
- glib:nick="unprocessable-entity">
- <doc xml:space="preserve">422 Unprocessable Entity
- (WebDAV)</doc>
- </member>
- <member name="locked"
- value="423"
- c:identifier="SOUP_STATUS_LOCKED"
- glib:nick="locked">
- <doc xml:space="preserve">423 Locked (WebDAV)</doc>
- </member>
- <member name="failed_dependency"
- value="424"
- c:identifier="SOUP_STATUS_FAILED_DEPENDENCY"
- glib:nick="failed-dependency">
- <doc xml:space="preserve">424 Failed Dependency (WebDAV)</doc>
- </member>
- <member name="internal_server_error"
- value="500"
- c:identifier="SOUP_STATUS_INTERNAL_SERVER_ERROR"
- glib:nick="internal-server-error">
- <doc xml:space="preserve">500 Internal Server Error
- (HTTP)</doc>
- </member>
- <member name="not_implemented"
- value="501"
- c:identifier="SOUP_STATUS_NOT_IMPLEMENTED"
- glib:nick="not-implemented">
- <doc xml:space="preserve">501 Not Implemented (HTTP)</doc>
- </member>
- <member name="bad_gateway"
- value="502"
- c:identifier="SOUP_STATUS_BAD_GATEWAY"
- glib:nick="bad-gateway">
- <doc xml:space="preserve">502 Bad Gateway (HTTP)</doc>
- </member>
- <member name="service_unavailable"
- value="503"
- c:identifier="SOUP_STATUS_SERVICE_UNAVAILABLE"
- glib:nick="service-unavailable">
- <doc xml:space="preserve">503 Service Unavailable (HTTP)</doc>
- </member>
- <member name="gateway_timeout"
- value="504"
- c:identifier="SOUP_STATUS_GATEWAY_TIMEOUT"
- glib:nick="gateway-timeout">
- <doc xml:space="preserve">504 Gateway Timeout (HTTP)</doc>
- </member>
- <member name="http_version_not_supported"
- value="505"
- c:identifier="SOUP_STATUS_HTTP_VERSION_NOT_SUPPORTED"
- glib:nick="http-version-not-supported">
- <doc xml:space="preserve">505 HTTP Version Not
- Supported (HTTP)</doc>
- </member>
- <member name="insufficient_storage"
- value="507"
- c:identifier="SOUP_STATUS_INSUFFICIENT_STORAGE"
- glib:nick="insufficient-storage">
- <doc xml:space="preserve">507 Insufficient Storage
- (WebDAV)</doc>
- </member>
- <member name="not_extended"
- value="510"
- c:identifier="SOUP_STATUS_NOT_EXTENDED"
- glib:nick="not-extended">
- <doc xml:space="preserve">510 Not Extended (RFC 2774)</doc>
- </member>
- <function name="get_phrase" c:identifier="soup_status_get_phrase">
- <doc xml:space="preserve">Looks up the stock HTTP description of @status_code. This is used
- by soup_message_set_status() to get the correct text to go with a
- given status code.
- <emphasis>There is no reason for you to ever use this
- function.</emphasis> If you wanted the textual description for the
- #SoupMessage:status_code of a given #SoupMessage, you should just
- look at the message's #SoupMessage:reason_phrase. However, you
- should only do that for use in debugging messages; HTTP reason
- phrases are not localized, and are not generally very descriptive
- anyway, and so they should never be presented to the user directly.
- Instead, you should create you own error messages based on the
- status code, and on what you were trying to do.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the (terse, English) description of @status_code</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">an HTTP status code</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="proxify"
- c:identifier="soup_status_proxify"
- version="2.26">
- <doc xml:space="preserve">Turns %SOUP_STATUS_CANT_RESOLVE into
- %SOUP_STATUS_CANT_RESOLVE_PROXY and %SOUP_STATUS_CANT_CONNECT into
- %SOUP_STATUS_CANT_CONNECT_PROXY. Other status codes are passed
- through unchanged.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the "proxified" equivalent of @status_code.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">a status code</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- </enumeration>
- <enumeration name="TLDError"
- version="2.40"
- glib:type-name="SoupTLDError"
- glib:get-type="soup_tld_error_get_type"
- c:type="SoupTLDError"
- glib:error-domain="soup_tld_error_quark">
- <doc xml:space="preserve">Error codes for %SOUP_TLD_ERROR.</doc>
- <member name="invalid_hostname"
- value="0"
- c:identifier="SOUP_TLD_ERROR_INVALID_HOSTNAME"
- glib:nick="invalid-hostname">
- <doc xml:space="preserve">A hostname was syntactically
- invalid.</doc>
- </member>
- <member name="is_ip_address"
- value="1"
- c:identifier="SOUP_TLD_ERROR_IS_IP_ADDRESS"
- glib:nick="is-ip-address">
- <doc xml:space="preserve">The passed-in "hostname" was
- actually an IP address (and thus has no base domain or
- public suffix).</doc>
- </member>
- <member name="not_enough_domains"
- value="2"
- c:identifier="SOUP_TLD_ERROR_NOT_ENOUGH_DOMAINS"
- glib:nick="not-enough-domains">
- <doc xml:space="preserve">The passed-in hostname
- did not have enough components. Eg, calling
- soup_tld_get_base_domain() on <literal>"co.uk"</literal>.</doc>
- </member>
- <member name="no_base_domain"
- value="3"
- c:identifier="SOUP_TLD_ERROR_NO_BASE_DOMAIN"
- glib:nick="no-base-domain">
- <doc xml:space="preserve">The passed-in hostname has
- no recognized public suffix.</doc>
- </member>
- <function name="quark" c:identifier="soup_tld_error_quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- </enumeration>
- <constant name="TYPES_H" value="1" c:type="SOUP_TYPES_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <record name="URI"
- c:type="SoupURI"
- glib:type-name="SoupURI"
- glib:get-type="soup_uri_get_type"
- c:symbol-prefix="uri">
- <doc xml:space="preserve">A #SoupURI represents a (parsed) URI. #SoupURI supports RFC 3986
- (URI Generic Syntax), and can parse any valid URI. However, libsoup
- only uses "http" and "https" URIs internally; You can use
- SOUP_URI_VALID_FOR_HTTP() to test if a #SoupURI is a valid HTTP
- URI.
- @scheme will always be set in any URI. It is an interned string and
- is always all lowercase. (If you parse a URI with a non-lowercase
- scheme, it will be converted to lowercase.) The macros
- %SOUP_URI_SCHEME_HTTP and %SOUP_URI_SCHEME_HTTPS provide the
- interned values for "http" and "https" and can be compared against
- URI @scheme values.
- @user and @password are parsed as defined in the older URI specs
- (ie, separated by a colon; RFC 3986 only talks about a single
- "userinfo" field). Note that @password is not included in the
- output of soup_uri_to_string(). libsoup does not normally use these
- fields; authentication is handled via #SoupSession signals.
- @host contains the hostname, and @port the port specified in the
- URI. If the URI doesn't contain a hostname, @host will be %NULL,
- and if it doesn't specify a port, @port may be 0. However, for
- "http" and "https" URIs, @host is guaranteed to be non-%NULL
- (trying to parse an http URI with no @host will return %NULL), and
- @port will always be non-0 (because libsoup knows the default value
- to use when it is not specified in the URI).
- @path is always non-%NULL. For http/https URIs, @path will never be
- an empty string either; if the input URI has no path, the parsed
- #SoupURI will have a @path of "/".
- @query and @fragment are optional for all URI types.
- soup_form_decode() may be useful for parsing @query.
- Note that @path, @query, and @fragment may contain
- %<!-- -->-encoded characters. soup_uri_new() calls
- soup_uri_normalize() on them, but not soup_uri_decode(). This is
- necessary to ensure that soup_uri_to_string() will generate a URI
- that has exactly the same meaning as the original. (In theory,
- #SoupURI should leave @user, @password, and @host partially-encoded
- as well, but this would be more annoying than useful.)</doc>
- <field name="scheme" writable="1">
- <doc xml:space="preserve">the URI scheme (eg, "http")</doc>
- <type name="utf8" c:type="const char*"/>
- </field>
- <field name="user" writable="1">
- <doc xml:space="preserve">a username, or %NULL</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="password" writable="1">
- <doc xml:space="preserve">a password, or %NULL</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="host" writable="1">
- <doc xml:space="preserve">the hostname or IP address</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="port" writable="1">
- <doc xml:space="preserve">the port number on @host</doc>
- <type name="guint" c:type="guint"/>
- </field>
- <field name="path" writable="1">
- <doc xml:space="preserve">the path on @host</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="query" writable="1">
- <doc xml:space="preserve">a query for @path, or %NULL</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <field name="fragment" writable="1">
- <doc xml:space="preserve">a fragment identifier within @path, or %NULL</doc>
- <type name="utf8" c:type="char*"/>
- </field>
- <constructor name="new" c:identifier="soup_uri_new">
- <doc xml:space="preserve">Parses an absolute URI.
- You can also pass %NULL for @uri_string if you want to get back an
- "empty" #SoupURI that you can fill in by hand. (You will need to
- call at least soup_uri_set_scheme() and soup_uri_set_path(), since
- those fields are required.)</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a #SoupURI, or %NULL if the given string
- was found to be invalid.</doc>
- <type name="URI" c:type="SoupURI*"/>
- </return-value>
- <parameters>
- <parameter name="uri_string"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">a URI</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </constructor>
- <method name="copy" c:identifier="soup_uri_copy">
- <doc xml:space="preserve">Copies @uri</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a copy of @uri, which must be freed with soup_uri_free()</doc>
- <type name="URI" c:type="SoupURI*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="copy_host"
- c:identifier="soup_uri_copy_host"
- version="2.28">
- <doc xml:space="preserve">Makes a copy of @uri, considering only the protocol, host, and port</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="equal" c:identifier="soup_uri_equal">
- <doc xml:space="preserve">Tests whether or not @uri1 and @uri2 are equal in all parts</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE or %FALSE</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri1" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="uri2" transfer-ownership="none">
- <doc xml:space="preserve">another #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </method>
- <method name="free" c:identifier="soup_uri_free">
- <doc xml:space="preserve">Frees @uri.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_fragment"
- c:identifier="soup_uri_get_fragment"
- version="2.32">
- <doc xml:space="preserve">Gets @uri's fragment.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@uri's fragment.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_host" c:identifier="soup_uri_get_host" version="2.32">
- <doc xml:space="preserve">Gets @uri's host.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@uri's host.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_password"
- c:identifier="soup_uri_get_password"
- version="2.32">
- <doc xml:space="preserve">Gets @uri's password.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@uri's password.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_path" c:identifier="soup_uri_get_path" version="2.32">
- <doc xml:space="preserve">Gets @uri's path.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@uri's path.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_port" c:identifier="soup_uri_get_port" version="2.32">
- <doc xml:space="preserve">Gets @uri's port.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@uri's port.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_query"
- c:identifier="soup_uri_get_query"
- version="2.32">
- <doc xml:space="preserve">Gets @uri's query.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@uri's query.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_scheme"
- c:identifier="soup_uri_get_scheme"
- version="2.32">
- <doc xml:space="preserve">Gets @uri's scheme.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@uri's scheme.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_user" c:identifier="soup_uri_get_user" version="2.32">
- <doc xml:space="preserve">Gets @uri's user.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">@uri's user.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="host_equal"
- c:identifier="soup_uri_host_equal"
- version="2.28">
- <doc xml:space="preserve">Compares @v1 and @v2, considering only the scheme, host, and port.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether or not the URIs are equal in scheme, host,
- and port.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="v1" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI with a non-%NULL @host member</doc>
- <type name="URI" c:type="gconstpointer"/>
- </instance-parameter>
- <parameter name="v2" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI with a non-%NULL @host member</doc>
- <type name="URI" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </method>
- <method name="host_hash"
- c:identifier="soup_uri_host_hash"
- version="2.28">
- <doc xml:space="preserve">Hashes @key, considering only the scheme, host, and port.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a hash</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <instance-parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI with a non-%NULL @host member</doc>
- <type name="URI" c:type="gconstpointer"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="new_with_base" c:identifier="soup_uri_new_with_base">
- <doc xml:space="preserve">Parses @uri_string relative to @base.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a parsed #SoupURI.</doc>
- <type name="URI" c:type="SoupURI*"/>
- </return-value>
- <parameters>
- <instance-parameter name="base" transfer-ownership="none">
- <doc xml:space="preserve">a base URI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="uri_string" transfer-ownership="none">
- <doc xml:space="preserve">the URI</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_fragment" c:identifier="soup_uri_set_fragment">
- <doc xml:space="preserve">Sets @uri's fragment to @fragment.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="fragment"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the fragment</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_host" c:identifier="soup_uri_set_host">
- <doc xml:space="preserve">Sets @uri's host to @host.
- If @host is an IPv6 IP address, it should not include the brackets
- required by the URI syntax; they will be added automatically when
- converting @uri to a string.
- http and https URIs should not have a %NULL @host.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="host"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the hostname or IP address, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_password" c:identifier="soup_uri_set_password">
- <doc xml:space="preserve">Sets @uri's password to @password.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="password"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the password, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_path" c:identifier="soup_uri_set_path">
- <doc xml:space="preserve">Sets @uri's path to @path.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="path" transfer-ownership="none">
- <doc xml:space="preserve">the non-%NULL path</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_port" c:identifier="soup_uri_set_port">
- <doc xml:space="preserve">Sets @uri's port to @port. If @port is 0, @uri will not have an
- explicitly-specified port.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="port" transfer-ownership="none">
- <doc xml:space="preserve">the port, or 0</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_query" c:identifier="soup_uri_set_query">
- <doc xml:space="preserve">Sets @uri's query to @query.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="query"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the query</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_query_from_fields"
- c:identifier="soup_uri_set_query_from_fields"
- introspectable="0">
- <doc xml:space="preserve">Sets @uri's query to the result of encoding the given form fields
- and values according to the * HTML form rules. See
- soup_form_encode() for more information.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="first_field" transfer-ownership="none">
- <doc xml:space="preserve">name of the first form field to encode into query</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value of @first_field, followed by additional field names
- and values, terminated by %NULL.</doc>
- <varargs/>
- </parameter>
- </parameters>
- </method>
- <method name="set_query_from_form"
- c:identifier="soup_uri_set_query_from_form">
- <doc xml:space="preserve">Sets @uri's query to the result of encoding @form according to the
- HTML form rules. See soup_form_encode_hash() for more information.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="form" transfer-ownership="none">
- <doc xml:space="preserve">a #GHashTable containing HTML form
- information</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </method>
- <method name="set_scheme" c:identifier="soup_uri_set_scheme">
- <doc xml:space="preserve">Sets @uri's scheme to @scheme. This will also set @uri's port to
- the default port for @scheme, if known.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="scheme" transfer-ownership="none">
- <doc xml:space="preserve">the URI scheme</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="set_user" c:identifier="soup_uri_set_user">
- <doc xml:space="preserve">Sets @uri's user to @user.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="user"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the username, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="to_string" c:identifier="soup_uri_to_string">
- <doc xml:space="preserve">Returns a string representing @uri.
- If @just_path_and_query is %TRUE, this concatenates the path and query
- together. That is, it constructs the string that would be needed in
- the Request-Line of an HTTP request for @uri.
- Note that the output will never contain a password, even if @uri
- does.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a string representing @uri, which the caller must free.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- <parameter name="just_path_and_query" transfer-ownership="none">
- <doc xml:space="preserve">if %TRUE, output just the path and query portions</doc>
- <type name="gboolean" c:type="gboolean"/>
- </parameter>
- </parameters>
- </method>
- <method name="uses_default_port"
- c:identifier="soup_uri_uses_default_port">
- <doc xml:space="preserve">Tests if @uri uses the default port for its scheme. (Eg, 80 for
- http.) (This only works for http, https and ftp; libsoup does not know
- the default ports of other protocols.)</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE or %FALSE</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <instance-parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupURI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </instance-parameter>
- </parameters>
- </method>
- <function name="decode" c:identifier="soup_uri_decode">
- <doc xml:space="preserve">Fully %<!-- -->-decodes @part.
- In the past, this would return %NULL if @part contained invalid
- percent-encoding, but now it just ignores the problem (as
- soup_uri_new() already did).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the decoded URI part.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">a URI part</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="encode" c:identifier="soup_uri_encode">
- <doc xml:space="preserve">This %<!-- -->-encodes the given URI part and returns the escaped
- version in allocated memory, which the caller must free when it is
- done.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the encoded URI part</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">a URI part</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="escape_extra"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional reserved characters to
- escape (or %NULL)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="normalize" c:identifier="soup_uri_normalize">
- <doc xml:space="preserve">%<!-- -->-decodes any "unreserved" characters (or characters in
- @unescape_extra) in @part, and %<!-- -->-encodes any non-ASCII
- characters, spaces, and non-printing characters in @part.
- "Unreserved" characters are those that are not allowed to be used
- for punctuation according to the URI spec. For example, letters are
- unreserved, so soup_uri_normalize() will turn
- <literal>http://example.com/foo/b%<!-- -->61r</literal> into
- <literal>http://example.com/foo/bar</literal>, which is guaranteed
- to mean the same thing. However, "/" is "reserved", so
- <literal>http://example.com/foo%<!-- -->2Fbar</literal> would not
- be changed, because it might mean something different to the
- server.
- In the past, this would return %NULL if @part contained invalid
- percent-encoding, but now it just ignores the problem (as
- soup_uri_new() already did).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the normalized URI part</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">a URI part</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="unescape_extra"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">reserved characters to unescape (or %NULL)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- </record>
- <constant name="URI_H" value="1" c:type="SOUP_URI_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="VALUE_UTILS_H" value="1" c:type="SOUP_VALUE_UTILS_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <enumeration name="WebsocketCloseCode"
- version="2.50"
- glib:type-name="SoupWebsocketCloseCode"
- glib:get-type="soup_websocket_close_code_get_type"
- c:type="SoupWebsocketCloseCode">
- <doc xml:space="preserve">Pre-defined close codes that can be passed to
- soup_websocket_connection_close() or received from
- soup_websocket_connection_get_close_code(). (However, other codes
- are also allowed.)</doc>
- <member name="normal"
- value="1000"
- c:identifier="SOUP_WEBSOCKET_CLOSE_NORMAL"
- glib:nick="normal">
- <doc xml:space="preserve">a normal, non-error close</doc>
- </member>
- <member name="going_away"
- value="1001"
- c:identifier="SOUP_WEBSOCKET_CLOSE_GOING_AWAY"
- glib:nick="going-away">
- <doc xml:space="preserve">the client/server is going away</doc>
- </member>
- <member name="protocol_error"
- value="1002"
- c:identifier="SOUP_WEBSOCKET_CLOSE_PROTOCOL_ERROR"
- glib:nick="protocol-error">
- <doc xml:space="preserve">a protocol error occurred</doc>
- </member>
- <member name="unsupported_data"
- value="1003"
- c:identifier="SOUP_WEBSOCKET_CLOSE_UNSUPPORTED_DATA"
- glib:nick="unsupported-data">
- <doc xml:space="preserve">the endpoint received data
- of a type that it does not support.</doc>
- </member>
- <member name="no_status"
- value="1005"
- c:identifier="SOUP_WEBSOCKET_CLOSE_NO_STATUS"
- glib:nick="no-status">
- <doc xml:space="preserve">reserved value indicating that
- no close code was present; must not be sent.</doc>
- </member>
- <member name="abnormal"
- value="1006"
- c:identifier="SOUP_WEBSOCKET_CLOSE_ABNORMAL"
- glib:nick="abnormal">
- <doc xml:space="preserve">reserved value indicating that
- the connection was closed abnormally; must not be sent.</doc>
- </member>
- <member name="bad_data"
- value="1007"
- c:identifier="SOUP_WEBSOCKET_CLOSE_BAD_DATA"
- glib:nick="bad-data">
- <doc xml:space="preserve">the endpoint received data that
- was invalid (eg, non-UTF-8 data in a text message).</doc>
- </member>
- <member name="policy_violation"
- value="1008"
- c:identifier="SOUP_WEBSOCKET_CLOSE_POLICY_VIOLATION"
- glib:nick="policy-violation">
- <doc xml:space="preserve">generic error code
- indicating some sort of policy violation.</doc>
- </member>
- <member name="too_big"
- value="1009"
- c:identifier="SOUP_WEBSOCKET_CLOSE_TOO_BIG"
- glib:nick="too-big">
- <doc xml:space="preserve">the endpoint received a message
- that is too big to process.</doc>
- </member>
- <member name="no_extension"
- value="1010"
- c:identifier="SOUP_WEBSOCKET_CLOSE_NO_EXTENSION"
- glib:nick="no-extension">
- <doc xml:space="preserve">the client is closing the
- connection because the server failed to negotiate a required
- extension.</doc>
- </member>
- <member name="server_error"
- value="1011"
- c:identifier="SOUP_WEBSOCKET_CLOSE_SERVER_ERROR"
- glib:nick="server-error">
- <doc xml:space="preserve">the server is closing the
- connection because it was unable to fulfill the request.</doc>
- </member>
- <member name="tls_handshake"
- value="1015"
- c:identifier="SOUP_WEBSOCKET_CLOSE_TLS_HANDSHAKE"
- glib:nick="tls-handshake">
- <doc xml:space="preserve">reserved value indicating that
- the TLS handshake failed; must not be sent.</doc>
- </member>
- </enumeration>
- <class name="WebsocketConnection"
- c:symbol-prefix="websocket_connection"
- c:type="SoupWebsocketConnection"
- version="2.50"
- parent="GObject.Object"
- glib:type-name="SoupWebsocketConnection"
- glib:get-type="soup_websocket_connection_get_type"
- glib:type-struct="WebsocketConnectionClass">
- <doc xml:space="preserve">A class representing a WebSocket connection.</doc>
- <constructor name="new"
- c:identifier="soup_websocket_connection_new"
- version="2.50">
- <doc xml:space="preserve">Creates a #SoupWebsocketConnection on @stream. This should be
- called after completing the handshake to begin using the WebSocket
- protocol.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupWebsocketConnection</doc>
- <type name="WebsocketConnection" c:type="SoupWebsocketConnection*"/>
- </return-value>
- <parameters>
- <parameter name="stream" transfer-ownership="none">
- <doc xml:space="preserve">a #GIOStream connected to the WebSocket server</doc>
- <type name="Gio.IOStream" c:type="GIOStream*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI of the connection</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the type of connection (client/side)</doc>
- <type name="WebsocketConnectionType"
- c:type="SoupWebsocketConnectionType"/>
- </parameter>
- <parameter name="origin"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the Origin of the client</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="protocol"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the subprotocol in use</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </constructor>
- <virtual-method name="closed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="closing">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="error">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- <parameter name="error" transfer-ownership="none">
- <type name="GLib.Error" c:type="GError*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <virtual-method name="message">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="WebsocketDataType" c:type="SoupWebsocketDataType"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <type name="GLib.Bytes" c:type="GBytes*"/>
- </parameter>
- </parameters>
- </virtual-method>
- <method name="close"
- c:identifier="soup_websocket_connection_close"
- version="2.50">
- <doc xml:space="preserve">Close the connection in an orderly fashion.
- Note that until the #SoupWebsocketConnection::closed signal fires, the connection
- is not yet completely closed. The close message is not even sent until the
- main loop runs.
- The @code and @data are sent to the peer along with the close request.
- Note that the @data must be UTF-8 valid.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- <parameter name="code" transfer-ownership="none">
- <doc xml:space="preserve">close code</doc>
- <type name="gushort" c:type="gushort"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">close data</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <method name="get_close_code"
- c:identifier="soup_websocket_connection_get_close_code"
- version="2.50">
- <doc xml:space="preserve">Get the close code received from the WebSocket peer.
- This only becomes valid once the WebSocket is in the
- %SOUP_WEBSOCKET_STATE_CLOSED state. The value will often be in the
- #SoupWebsocketCloseCode enumeration, but may also be an application
- defined close code.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the close code or zero.</doc>
- <type name="gushort" c:type="gushort"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_close_data"
- c:identifier="soup_websocket_connection_get_close_data"
- version="2.50">
- <doc xml:space="preserve">Get the close data received from the WebSocket peer.
- This only becomes valid once the WebSocket is in the
- %SOUP_WEBSOCKET_STATE_CLOSED state. The data may be freed once
- the main loop is run, so copy it if you need to keep it around.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the close data or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_connection_type"
- c:identifier="soup_websocket_connection_get_connection_type"
- version="2.50">
- <doc xml:space="preserve">Get the connection type (client/server) of the connection.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the connection type</doc>
- <type name="WebsocketConnectionType"
- c:type="SoupWebsocketConnectionType"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_io_stream"
- c:identifier="soup_websocket_connection_get_io_stream"
- version="2.50">
- <doc xml:space="preserve">Get the I/O stream the WebSocket is communicating over.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket's I/O stream.</doc>
- <type name="Gio.IOStream" c:type="GIOStream*"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_origin"
- c:identifier="soup_websocket_connection_get_origin"
- version="2.50">
- <doc xml:space="preserve">Get the origin of the WebSocket.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the origin, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_protocol"
- c:identifier="soup_websocket_connection_get_protocol"
- version="2.50">
- <doc xml:space="preserve">Get the protocol chosen via negotiation with the peer.</doc>
- <return-value transfer-ownership="none" nullable="1">
- <doc xml:space="preserve">the chosen protocol, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_state"
- c:identifier="soup_websocket_connection_get_state"
- version="2.50">
- <doc xml:space="preserve">Get the current state of the WebSocket.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the state</doc>
- <type name="WebsocketState" c:type="SoupWebsocketState"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="get_uri"
- c:identifier="soup_websocket_connection_get_uri"
- version="2.50">
- <doc xml:space="preserve">Get the URI of the WebSocket.
- For servers this represents the address of the WebSocket, and
- for clients it is the address connected to.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the URI</doc>
- <type name="URI" c:type="SoupURI*"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="send_binary"
- c:identifier="soup_websocket_connection_send_binary"
- version="2.50">
- <doc xml:space="preserve">Send a binary message to the peer.
- The message is queued to be sent and will be sent when the main loop
- is run.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- <parameter name="data" transfer-ownership="none">
- <doc xml:space="preserve">the message contents</doc>
- <array length="1" zero-terminated="0" c:type="gconstpointer">
- <type name="guint8"/>
- </array>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length of @data</doc>
- <type name="gsize" c:type="gsize"/>
- </parameter>
- </parameters>
- </method>
- <method name="send_text"
- c:identifier="soup_websocket_connection_send_text"
- version="2.50">
- <doc xml:space="preserve">Send a text (UTF-8) message to the peer.
- The message is queued to be sent and will be sent when the main loop
- is run.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">the WebSocket</doc>
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </instance-parameter>
- <parameter name="text" transfer-ownership="none">
- <doc xml:space="preserve">the message contents</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- <property name="connection-type"
- version="2.50"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The type of connection (client/server).</doc>
- <type name="WebsocketConnectionType"/>
- </property>
- <property name="io-stream"
- version="2.50"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The underlying IO stream the WebSocket is communicating
- over.
- The input and output streams must be pollable streams.</doc>
- <type name="Gio.IOStream"/>
- </property>
- <property name="origin"
- version="2.50"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The client's Origin.</doc>
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="protocol"
- version="2.50"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The chosen protocol, or %NULL if a protocol was not agreed
- upon.</doc>
- <type name="utf8" c:type="gchar*"/>
- </property>
- <property name="state" version="2.50" transfer-ownership="none">
- <doc xml:space="preserve">The current state of the WebSocket.</doc>
- <type name="WebsocketState"/>
- </property>
- <property name="uri"
- version="2.50"
- writable="1"
- construct-only="1"
- transfer-ownership="none">
- <doc xml:space="preserve">The URI of the WebSocket.
- For servers this represents the address of the WebSocket,
- and for clients it is the address connected to.</doc>
- <type name="URI"/>
- </property>
- <field name="parent">
- <type name="GObject.Object" c:type="GObject"/>
- </field>
- <field name="pv" readable="0" private="1">
- <type name="WebsocketConnectionPrivate"
- c:type="SoupWebsocketConnectionPrivate*"/>
- </field>
- <glib:signal name="closed" when="first" version="2.50">
- <doc xml:space="preserve">Emitted when the connection has completely closed, either
- due to an orderly close from the peer, one initiated via
- soup_websocket_connection_close() or a fatal error
- condition that caused a close.
- This signal will be emitted once.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="closing" when="last" version="2.50">
- <doc xml:space="preserve">This signal will be emitted during an orderly close.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- </glib:signal>
- <glib:signal name="error" when="first" version="2.50">
- <doc xml:space="preserve">Emitted when an error occurred on the WebSocket. This may
- be fired multiple times. Fatal errors will be followed by
- the #SoupWebsocketConnection::closed signal being emitted.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="error" transfer-ownership="none">
- <doc xml:space="preserve">the error that occured</doc>
- <type name="GLib.Error"/>
- </parameter>
- </parameters>
- </glib:signal>
- <glib:signal name="message" when="first" version="2.50">
- <doc xml:space="preserve">Emitted when we receive a message from the peer.
- As a convenience, the @message data will always be
- NUL-terminated, but the NUL byte will not be included in
- the length count.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the type of message contents</doc>
- <type name="gint" c:type="gint"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <doc xml:space="preserve">the message data</doc>
- <type name="GLib.Bytes"/>
- </parameter>
- </parameters>
- </glib:signal>
- </class>
- <record name="WebsocketConnectionClass"
- c:type="SoupWebsocketConnectionClass"
- glib:is-gtype-struct-for="WebsocketConnection"
- version="2.50">
- <doc xml:space="preserve">The abstract base class for #SoupWebsocketConnection</doc>
- <field name="parent">
- <type name="GObject.ObjectClass" c:type="GObjectClass"/>
- </field>
- <field name="message">
- <callback name="message">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <type name="WebsocketDataType" c:type="SoupWebsocketDataType"/>
- </parameter>
- <parameter name="message" transfer-ownership="none">
- <type name="GLib.Bytes" c:type="GBytes*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="error">
- <callback name="error">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </parameter>
- <parameter name="error" transfer-ownership="none">
- <type name="GLib.Error" c:type="GError*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="closing">
- <callback name="closing">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- <field name="closed">
- <callback name="closed">
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="self" transfer-ownership="none">
- <type name="WebsocketConnection"
- c:type="SoupWebsocketConnection*"/>
- </parameter>
- </parameters>
- </callback>
- </field>
- </record>
- <record name="WebsocketConnectionPrivate"
- c:type="SoupWebsocketConnectionPrivate"
- disguised="1">
- </record>
- <enumeration name="WebsocketConnectionType"
- version="2.50"
- glib:type-name="SoupWebsocketConnectionType"
- glib:get-type="soup_websocket_connection_type_get_type"
- c:type="SoupWebsocketConnectionType">
- <doc xml:space="preserve">The type of a #SoupWebsocketConnection.</doc>
- <member name="unknown"
- value="0"
- c:identifier="SOUP_WEBSOCKET_CONNECTION_UNKNOWN"
- glib:nick="unknown">
- <doc xml:space="preserve">unknown/invalid connection</doc>
- </member>
- <member name="client"
- value="1"
- c:identifier="SOUP_WEBSOCKET_CONNECTION_CLIENT"
- glib:nick="client">
- <doc xml:space="preserve">a client-side connection</doc>
- </member>
- <member name="server"
- value="2"
- c:identifier="SOUP_WEBSOCKET_CONNECTION_SERVER"
- glib:nick="server">
- <doc xml:space="preserve">a server-side connection</doc>
- </member>
- </enumeration>
- <enumeration name="WebsocketDataType"
- version="2.50"
- glib:type-name="SoupWebsocketDataType"
- glib:get-type="soup_websocket_data_type_get_type"
- c:type="SoupWebsocketDataType">
- <doc xml:space="preserve">The type of data contained in a #SoupWebsocketConnection::message
- signal.</doc>
- <member name="text"
- value="1"
- c:identifier="SOUP_WEBSOCKET_DATA_TEXT"
- glib:nick="text">
- <doc xml:space="preserve">UTF-8 text</doc>
- </member>
- <member name="binary"
- value="2"
- c:identifier="SOUP_WEBSOCKET_DATA_BINARY"
- glib:nick="binary">
- <doc xml:space="preserve">binary data</doc>
- </member>
- </enumeration>
- <enumeration name="WebsocketError"
- version="2.50"
- glib:type-name="SoupWebsocketError"
- glib:get-type="soup_websocket_error_get_type"
- c:type="SoupWebsocketError">
- <doc xml:space="preserve">WebSocket-related errors.</doc>
- <member name="failed"
- value="0"
- c:identifier="SOUP_WEBSOCKET_ERROR_FAILED"
- glib:nick="failed">
- <doc xml:space="preserve">a generic error</doc>
- </member>
- <member name="not_websocket"
- value="1"
- c:identifier="SOUP_WEBSOCKET_ERROR_NOT_WEBSOCKET"
- glib:nick="not-websocket">
- <doc xml:space="preserve">attempted to handshake with a
- server that does not appear to understand WebSockets.</doc>
- </member>
- <member name="bad_handshake"
- value="2"
- c:identifier="SOUP_WEBSOCKET_ERROR_BAD_HANDSHAKE"
- glib:nick="bad-handshake">
- <doc xml:space="preserve">the WebSocket handshake failed
- because some detail was invalid (eg, incorrect accept key).</doc>
- </member>
- <member name="bad_origin"
- value="3"
- c:identifier="SOUP_WEBSOCKET_ERROR_BAD_ORIGIN"
- glib:nick="bad-origin">
- <doc xml:space="preserve">the WebSocket handshake failed
- because the "Origin" header was not an allowed value.</doc>
- </member>
- <function name="get_quark" c:identifier="soup_websocket_error_get_quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- </enumeration>
- <enumeration name="WebsocketState"
- version="2.50"
- glib:type-name="SoupWebsocketState"
- glib:get-type="soup_websocket_state_get_type"
- c:type="SoupWebsocketState">
- <doc xml:space="preserve">The state of the WebSocket connection.</doc>
- <member name="open"
- value="1"
- c:identifier="SOUP_WEBSOCKET_STATE_OPEN"
- glib:nick="open">
- <doc xml:space="preserve">the connection is ready to send messages</doc>
- </member>
- <member name="closing"
- value="2"
- c:identifier="SOUP_WEBSOCKET_STATE_CLOSING"
- glib:nick="closing">
- <doc xml:space="preserve">the connection is in the process of
- closing down; messages may be received, but not sent</doc>
- </member>
- <member name="closed"
- value="3"
- c:identifier="SOUP_WEBSOCKET_STATE_CLOSED"
- glib:nick="closed">
- <doc xml:space="preserve">the connection is completely closed down</doc>
- </member>
- </enumeration>
- <enumeration name="XMLRPCError"
- glib:type-name="SoupXMLRPCError"
- glib:get-type="soup_xmlrpc_error_get_type"
- c:type="SoupXMLRPCError"
- glib:error-domain="soup_xmlrpc_error_quark">
- <member name="arguments"
- value="0"
- c:identifier="SOUP_XMLRPC_ERROR_ARGUMENTS"
- glib:nick="arguments">
- </member>
- <member name="retval"
- value="1"
- c:identifier="SOUP_XMLRPC_ERROR_RETVAL"
- glib:nick="retval">
- </member>
- <function name="quark" c:identifier="soup_xmlrpc_error_quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- </enumeration>
- <enumeration name="XMLRPCFault"
- glib:type-name="SoupXMLRPCFault"
- glib:get-type="soup_xmlrpc_fault_get_type"
- c:type="SoupXMLRPCFault">
- <doc xml:space="preserve">Pre-defined XML-RPC fault codes from <ulink
- url="http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php">http://xmlrpc-epi.sourceforge.net/specs/rfc.fault_codes.php</ulink>.
- These are an extension, not part of the XML-RPC spec; you can't
- assume servers will use them.</doc>
- <member name="parse_error_not_well_formed"
- value="-32700"
- c:identifier="SOUP_XMLRPC_FAULT_PARSE_ERROR_NOT_WELL_FORMED"
- glib:nick="parse-error-not-well-formed">
- <doc xml:space="preserve">request was not
- well-formed</doc>
- </member>
- <member name="parse_error_unsupported_encoding"
- value="-32701"
- c:identifier="SOUP_XMLRPC_FAULT_PARSE_ERROR_UNSUPPORTED_ENCODING"
- glib:nick="parse-error-unsupported-encoding">
- <doc xml:space="preserve">request was in
- an unsupported encoding</doc>
- </member>
- <member name="parse_error_invalid_character_for_encoding"
- value="-32702"
- c:identifier="SOUP_XMLRPC_FAULT_PARSE_ERROR_INVALID_CHARACTER_FOR_ENCODING"
- glib:nick="parse-error-invalid-character-for-encoding">
- <doc xml:space="preserve">request contained an invalid character</doc>
- </member>
- <member name="server_error_invalid_xml_rpc"
- value="-32600"
- c:identifier="SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_XML_RPC"
- glib:nick="server-error-invalid-xml-rpc">
- <doc xml:space="preserve">request was not
- valid XML-RPC</doc>
- </member>
- <member name="server_error_requested_method_not_found"
- value="-32601"
- c:identifier="SOUP_XMLRPC_FAULT_SERVER_ERROR_REQUESTED_METHOD_NOT_FOUND"
- glib:nick="server-error-requested-method-not-found">
- <doc xml:space="preserve">method
- not found</doc>
- </member>
- <member name="server_error_invalid_method_parameters"
- value="-32602"
- c:identifier="SOUP_XMLRPC_FAULT_SERVER_ERROR_INVALID_METHOD_PARAMETERS"
- glib:nick="server-error-invalid-method-parameters">
- <doc xml:space="preserve">invalid
- parameters</doc>
- </member>
- <member name="server_error_internal_xml_rpc_error"
- value="-32603"
- c:identifier="SOUP_XMLRPC_FAULT_SERVER_ERROR_INTERNAL_XML_RPC_ERROR"
- glib:nick="server-error-internal-xml-rpc-error">
- <doc xml:space="preserve">internal
- error</doc>
- </member>
- <member name="application_error"
- value="-32500"
- c:identifier="SOUP_XMLRPC_FAULT_APPLICATION_ERROR"
- glib:nick="application-error">
- <doc xml:space="preserve">start of reserved range for
- application error codes</doc>
- </member>
- <member name="system_error"
- value="-32400"
- c:identifier="SOUP_XMLRPC_FAULT_SYSTEM_ERROR"
- glib:nick="system-error">
- <doc xml:space="preserve">start of reserved range for
- system error codes</doc>
- </member>
- <member name="transport_error"
- value="-32300"
- c:identifier="SOUP_XMLRPC_FAULT_TRANSPORT_ERROR"
- glib:nick="transport-error">
- <doc xml:space="preserve">start of reserved range for
- transport error codes</doc>
- </member>
- <function name="quark" c:identifier="soup_xmlrpc_fault_quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- </enumeration>
- <record name="XMLRPCParams"
- c:type="SoupXMLRPCParams"
- disguised="1"
- version="2.52">
- <doc xml:space="preserve">Opaque structure containing XML-RPC methodCall parameter values.
- Can be parsed using soup_xmlrpc_params_parse() and freed with
- soup_xmlrpc_params_free().</doc>
- <method name="free"
- c:identifier="soup_xmlrpc_params_free"
- version="2.52">
- <doc xml:space="preserve">Free a #SoupXMLRPCParams returned by soup_xmlrpc_parse_request().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">a SoupXMLRPCParams</doc>
- <type name="XMLRPCParams" c:type="SoupXMLRPCParams*"/>
- </instance-parameter>
- </parameters>
- </method>
- <method name="parse"
- c:identifier="soup_xmlrpc_params_parse"
- version="2.52"
- throws="1">
- <doc xml:space="preserve">Parse method parameters returned by soup_xmlrpc_parse_request().
- Deserialization details:
- - If @signature is provided, &lt;int&gt; and &lt;i4&gt; can be deserialized
- to byte, int16, uint16, int32, uint32, int64 or uint64. Otherwise
- it will be deserialized to int32. If the value is out of range
- for the target type it will return an error.
- - &lt;struct&gt; will be deserialized to "a{sv}". @signature could define
- another value type (e.g. "a{ss}").
- - &lt;array&gt; will be deserialized to "av". @signature could define
- another element type (e.g. "as") or could be a tuple (e.g. "(ss)").
- - &lt;base64&gt; will be deserialized to "ay".
- - &lt;string&gt; will be deserialized to "s".
- - &lt;dateTime.iso8601&gt; will be deserialized to an unspecified variant
- type. If @signature is provided it must have the generic "v" type, which
- means there is no guarantee that it's actually a datetime that has been
- received. soup_xmlrpc_variant_get_datetime() must be used to parse and
- type check this special variant.
- - @signature must not have maybes, otherwise an error is returned.
- - Dictionaries must have string keys, otherwise an error is returned.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new (non-floating) #GVariant, or %NULL</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </return-value>
- <parameters>
- <instance-parameter name="self" transfer-ownership="none">
- <doc xml:space="preserve">A #SoupXMLRPCParams</doc>
- <type name="XMLRPCParams" c:type="SoupXMLRPCParams*"/>
- </instance-parameter>
- <parameter name="signature"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">A valid #GVariant type string, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </method>
- </record>
- <constant name="XMLRPC_H" value="1" c:type="SOUP_XMLRPC_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <constant name="XMLRPC_OLD_H" value="1" c:type="SOUP_XMLRPC_OLD_H">
- <type name="gint" c:type="gint"/>
- </constant>
- <function name="add_completion"
- c:identifier="soup_add_completion"
- version="2.24"
- introspectable="0">
- <doc xml:space="preserve">Adds @function to be executed from inside @async_context with the
- default priority. Use this when you want to complete an action in
- @async_context's main loop, as soon as possible.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSource, which can be removed from @async_context
- with g_source_destroy().</doc>
- <type name="GLib.Source" c:type="GSource*"/>
- </return-value>
- <parameters>
- <parameter name="async_context"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GMainContext to dispatch the I/O
- watch in, or %NULL for the default context</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="function" transfer-ownership="none" closure="2">
- <doc xml:space="preserve">the callback to invoke</doc>
- <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data to pass to @function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="add_idle" c:identifier="soup_add_idle" introspectable="0">
- <doc xml:space="preserve">Adds an idle event as with g_idle_add(), but using the given
- @async_context.
- If you want @function to run "right away", use
- soup_add_completion(), since that sets a higher priority on the
- #GSource than soup_add_idle() does.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSource, which can be removed from @async_context
- with g_source_destroy().</doc>
- <type name="GLib.Source" c:type="GSource*"/>
- </return-value>
- <parameters>
- <parameter name="async_context"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GMainContext to dispatch the I/O
- watch in, or %NULL for the default context</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="function" transfer-ownership="none" closure="2">
- <doc xml:space="preserve">the callback to invoke at idle time</doc>
- <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data to pass to @function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="add_io_watch"
- c:identifier="soup_add_io_watch"
- introspectable="0">
- <doc xml:space="preserve">Adds an I/O watch as with g_io_add_watch(), but using the given
- @async_context.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSource, which can be removed from @async_context
- with g_source_destroy().</doc>
- <type name="GLib.Source" c:type="GSource*"/>
- </return-value>
- <parameters>
- <parameter name="async_context"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GMainContext to dispatch the I/O
- watch in, or %NULL for the default context</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="chan" transfer-ownership="none">
- <doc xml:space="preserve">the #GIOChannel to watch</doc>
- <type name="GLib.IOChannel" c:type="GIOChannel*"/>
- </parameter>
- <parameter name="condition" transfer-ownership="none">
- <doc xml:space="preserve">the condition to watch for</doc>
- <type name="GLib.IOCondition" c:type="GIOCondition"/>
- </parameter>
- <parameter name="function" transfer-ownership="none" closure="4">
- <doc xml:space="preserve">the callback to invoke when @condition occurs</doc>
- <type name="GLib.IOFunc" c:type="GIOFunc"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data to pass to @function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="add_timeout"
- c:identifier="soup_add_timeout"
- introspectable="0">
- <doc xml:space="preserve">Adds a timeout as with g_timeout_add(), but using the given
- @async_context.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSource, which can be removed from @async_context
- with g_source_destroy().</doc>
- <type name="GLib.Source" c:type="GSource*"/>
- </return-value>
- <parameters>
- <parameter name="async_context"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the #GMainContext to dispatch the I/O
- watch in, or %NULL for the default context</doc>
- <type name="GLib.MainContext" c:type="GMainContext*"/>
- </parameter>
- <parameter name="interval" transfer-ownership="none">
- <doc xml:space="preserve">the timeout interval, in milliseconds</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="function" transfer-ownership="none" closure="3">
- <doc xml:space="preserve">the callback to invoke at timeout time</doc>
- <type name="GLib.SourceFunc" c:type="GSourceFunc"/>
- </parameter>
- <parameter name="data"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">user data to pass to @function</doc>
- <type name="gpointer" c:type="gpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="cookie_parse"
- c:identifier="soup_cookie_parse"
- moved-to="Cookie.parse"
- version="2.24">
- <doc xml:space="preserve">Parses @header and returns a #SoupCookie. (If @header contains
- multiple cookies, only the first one will be parsed.)
- If @header does not have "path" or "domain" attributes, they will
- be defaulted from @origin. If @origin is %NULL, path will default
- to "/", but domain will be left as %NULL. Note that this is not a
- valid state for a #SoupCookie, and you will need to fill in some
- appropriate string for the domain if you want to actually make use
- of the cookie.</doc>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a new #SoupCookie, or %NULL if it could
- not be parsed, or contained an illegal "domain" attribute for a
- cookie originating from @origin.</doc>
- <type name="Cookie" c:type="SoupCookie*"/>
- </return-value>
- <parameters>
- <parameter name="header" transfer-ownership="none">
- <doc xml:space="preserve">a cookie string (eg, the value of a Set-Cookie header)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="origin" transfer-ownership="none">
- <doc xml:space="preserve">origin of the cookie, or %NULL</doc>
- <type name="URI" c:type="SoupURI*"/>
- </parameter>
- </parameters>
- </function>
- <function name="cookies_free"
- c:identifier="soup_cookies_free"
- version="2.24"
- introspectable="0">
- <doc xml:space="preserve">Frees @cookies.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="cookies" transfer-ownership="none">
- <doc xml:space="preserve">a #GSList of #SoupCookie</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Cookie"/>
- </type>
- </parameter>
- </parameters>
- </function>
- <function name="cookies_from_request"
- c:identifier="soup_cookies_from_request"
- version="2.24">
- <doc xml:space="preserve">Parses @msg's Cookie request header and returns a #GSList of
- #SoupCookie<!-- -->s. As the "Cookie" header, unlike "Set-Cookie",
- only contains cookie names and values, none of the other
- #SoupCookie fields will be filled in. (Thus, you can't generally
- pass a cookie returned from this method directly to
- soup_cookies_to_response().)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSList
- of #SoupCookie<!-- -->s, which can be freed with
- soup_cookies_free().</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Cookie"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage containing a "Cookie" request header</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="cookies_from_response"
- c:identifier="soup_cookies_from_response"
- version="2.24">
- <doc xml:space="preserve">Parses @msg's Set-Cookie response headers and returns a #GSList of
- #SoupCookie<!-- -->s. Cookies that do not specify "path" or
- "domain" attributes will have their values defaulted from @msg.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSList
- of #SoupCookie<!-- -->s, which can be freed with
- soup_cookies_free().</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Cookie"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage containing a "Set-Cookie" response header</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="cookies_to_cookie_header"
- c:identifier="soup_cookies_to_cookie_header"
- version="2.24">
- <doc xml:space="preserve">Serializes a #GSList of #SoupCookie into a string suitable for
- setting as the value of the "Cookie" header.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the serialization of @cookies</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="cookies" transfer-ownership="none">
- <doc xml:space="preserve">a #GSList of #SoupCookie</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Cookie"/>
- </type>
- </parameter>
- </parameters>
- </function>
- <function name="cookies_to_request"
- c:identifier="soup_cookies_to_request"
- version="2.24">
- <doc xml:space="preserve">Adds the name and value of each cookie in @cookies to @msg's
- "Cookie" request. (If @msg already has a "Cookie" request header,
- these cookies will be appended to the cookies already present. Be
- careful that you do not append the same cookies twice, eg, when
- requeuing a message.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="cookies" transfer-ownership="none">
- <doc xml:space="preserve">a #GSList of #SoupCookie</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Cookie"/>
- </type>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="cookies_to_response"
- c:identifier="soup_cookies_to_response"
- version="2.24">
- <doc xml:space="preserve">Appends a "Set-Cookie" response header to @msg for each cookie in
- @cookies. (This is in addition to any other "Set-Cookie" headers
- @msg may already have.)</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="cookies" transfer-ownership="none">
- <doc xml:space="preserve">a #GSList of #SoupCookie</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="Cookie"/>
- </type>
- </parameter>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="form_decode" c:identifier="soup_form_decode">
- <doc xml:space="preserve">Decodes @form, which is an urlencoded dataset as defined in the
- HTML 4.01 spec.</doc>
- <return-value transfer-ownership="container">
- <doc xml:space="preserve">a hash
- table containing the name/value pairs from @encoded_form, which you
- can free with g_hash_table_destroy().</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="encoded_form" transfer-ownership="none">
- <doc xml:space="preserve">data of type "application/x-www-form-urlencoded"</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="form_decode_multipart"
- c:identifier="soup_form_decode_multipart"
- version="2.26">
- <doc xml:space="preserve">Decodes the "multipart/form-data" request in @msg; this is a
- convenience method for the case when you have a single file upload
- control in a form. (Or when you don't have any file upload
- controls, but are still using "multipart/form-data" anyway.) Pass
- the name of the file upload control in @file_control_name, and
- soup_form_decode_multipart() will extract the uploaded file data
- into @filename, @content_type, and @file. All of the other form
- control data will be returned (as strings, as with
- soup_form_decode()) in the returned #GHashTable.
- You may pass %NULL for @filename, @content_type and/or @file if you do not
- care about those fields. soup_form_decode_multipart() may also
- return %NULL in those fields if the client did not provide that
- information. You must free the returned filename and content-type
- with g_free(), and the returned file data with soup_buffer_free().
- If you have a form with more than one file upload control, you will
- need to decode it manually, using soup_multipart_new_from_message()
- and soup_multipart_get_part().</doc>
- <return-value transfer-ownership="container" nullable="1">
- <doc xml:space="preserve">
- a hash table containing the name/value pairs (other than
- @file_control_name) from @msg, which you can free with
- g_hash_table_destroy(). On error, it will return %NULL.</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage containing a "multipart/form-data" request body</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="file_control_name"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the name of the HTML file upload control, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="filename"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">return location for the name of the uploaded file, or %NULL</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- <parameter name="content_type"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">return location for the MIME type of the uploaded file, or %NULL</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- <parameter name="file"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">return location for the uploaded file data, or %NULL</doc>
- <type name="Buffer" c:type="SoupBuffer**"/>
- </parameter>
- </parameters>
- </function>
- <function name="form_encode"
- c:identifier="soup_form_encode"
- introspectable="0">
- <doc xml:space="preserve">Encodes the given field names and values into a value of type
- "application/x-www-form-urlencoded", as defined in the HTML 4.01
- spec.
- This method requires you to know the names of the form fields (or
- at the very least, the total number of fields) at compile time; for
- working with dynamic forms, use soup_form_encode_hash() or
- soup_form_encode_datalist().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the encoded form</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="first_field" transfer-ownership="none">
- <doc xml:space="preserve">name of the first form field</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value of @first_field, followed by additional field names
- and values, terminated by %NULL.</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="form_encode_datalist"
- c:identifier="soup_form_encode_datalist">
- <doc xml:space="preserve">Encodes @form_data_set into a value of type
- "application/x-www-form-urlencoded", as defined in the HTML 4.01
- spec. Unlike soup_form_encode_hash(), this preserves the ordering
- of the form elements, which may be required in some situations.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the encoded form</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="form_data_set" transfer-ownership="none">
- <doc xml:space="preserve">a datalist containing name/value pairs</doc>
- <type name="GLib.Data" c:type="GData**"/>
- </parameter>
- </parameters>
- </function>
- <function name="form_encode_hash" c:identifier="soup_form_encode_hash">
- <doc xml:space="preserve">Encodes @form_data_set into a value of type
- "application/x-www-form-urlencoded", as defined in the HTML 4.01
- spec.
- Note that the HTML spec states that "The control names/values are
- listed in the order they appear in the document." Since this method
- takes a hash table, it cannot enforce that; if you care about the
- ordering of the form fields, use soup_form_encode_datalist().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the encoded form</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="form_data_set" transfer-ownership="none">
- <doc xml:space="preserve">a hash table containing
- name/value pairs (as strings)</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </function>
- <function name="form_encode_valist"
- c:identifier="soup_form_encode_valist"
- introspectable="0">
- <doc xml:space="preserve">See soup_form_encode(). This is mostly an internal method, used by
- various other methods such as soup_uri_set_query_from_fields() and
- soup_form_request_new().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the encoded form</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="first_field" transfer-ownership="none">
- <doc xml:space="preserve">name of the first form field</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">pointer to additional values, as in soup_form_encode()</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- </parameters>
- </function>
- <function name="form_request_new"
- c:identifier="soup_form_request_new"
- introspectable="0">
- <doc xml:space="preserve">Creates a new %SoupMessage and sets it up to send the given data
- to @uri via @method. (That is, if @method is "GET", it will encode
- the form data into @uri's query field, and if @method is "POST", it
- will encode it into the %SoupMessage's request_body.)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new %SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <doc xml:space="preserve">the HTTP method, either "GET" or "POST"</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI to send the form data to</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="first_field" transfer-ownership="none">
- <doc xml:space="preserve">name of the first form field</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">value of @first_field, followed by additional field names
- and values, terminated by %NULL.</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="form_request_new_from_datalist"
- c:identifier="soup_form_request_new_from_datalist">
- <doc xml:space="preserve">Creates a new %SoupMessage and sets it up to send @form_data_set to
- @uri via @method, as with soup_form_request_new().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new %SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <doc xml:space="preserve">the HTTP method, either "GET" or "POST"</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI to send the form data to</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="form_data_set" transfer-ownership="none">
- <doc xml:space="preserve">the data to send to @uri</doc>
- <type name="GLib.Data" c:type="GData**"/>
- </parameter>
- </parameters>
- </function>
- <function name="form_request_new_from_hash"
- c:identifier="soup_form_request_new_from_hash">
- <doc xml:space="preserve">Creates a new %SoupMessage and sets it up to send @form_data_set to
- @uri via @method, as with soup_form_request_new().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new %SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </return-value>
- <parameters>
- <parameter name="method" transfer-ownership="none">
- <doc xml:space="preserve">the HTTP method, either "GET" or "POST"</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI to send the form data to</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="form_data_set" transfer-ownership="none">
- <doc xml:space="preserve">the data to send to @uri</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </function>
- <function name="form_request_new_from_multipart"
- c:identifier="soup_form_request_new_from_multipart"
- version="2.26">
- <doc xml:space="preserve">Creates a new %SoupMessage and sets it up to send @multipart to
- @uri via POST.
- To send a <literal>"multipart/form-data"</literal> POST, first
- create a #SoupMultipart, using %SOUP_FORM_MIME_TYPE_MULTIPART as
- the MIME type. Then use soup_multipart_append_form_string() and
- soup_multipart_append_form_file() to add the value of each form
- control to the multipart. (These are just convenience methods, and
- you can use soup_multipart_append_part() if you need greater
- control over the part headers.) Finally, call
- soup_form_request_new_from_multipart() to serialize the multipart
- structure and create a #SoupMessage.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the new %SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">the URI to send the form data to</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="multipart" transfer-ownership="none">
- <doc xml:space="preserve">a "multipart/form-data" #SoupMultipart</doc>
- <type name="Multipart" c:type="SoupMultipart*"/>
- </parameter>
- </parameters>
- </function>
- <function name="header_contains" c:identifier="soup_header_contains">
- <doc xml:space="preserve">Parses @header to see if it contains the token @token (matched
- case-insensitively). Note that this can't be used with lists
- that have qvalues.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">whether or not @header contains @token</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="header" transfer-ownership="none">
- <doc xml:space="preserve">An HTTP header suitable for parsing with
- soup_header_parse_list()</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="token" transfer-ownership="none">
- <doc xml:space="preserve">a token</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="header_free_list"
- c:identifier="soup_header_free_list"
- introspectable="0">
- <doc xml:space="preserve">Frees @list.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="list" transfer-ownership="none">
- <doc xml:space="preserve">a #GSList returned from soup_header_parse_list() or
- soup_header_parse_quality_list()</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="gpointer" c:type="gpointer"/>
- </type>
- </parameter>
- </parameters>
- </function>
- <function name="header_free_param_list"
- c:identifier="soup_header_free_param_list">
- <doc xml:space="preserve">Frees @param_list.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="param_list" transfer-ownership="none">
- <doc xml:space="preserve">a #GHashTable returned from soup_header_parse_param_list()
- or soup_header_parse_semi_param_list()</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </function>
- <function name="header_g_string_append_param"
- c:identifier="soup_header_g_string_append_param"
- version="2.26">
- <doc xml:space="preserve">Appends something like <literal>@name=@value</literal> to @string,
- taking care to quote @value if needed, and if so, to escape any
- quotes or backslashes in @value.
- Alternatively, if @value is a non-ASCII UTF-8 string, it will be
- appended using RFC5987 syntax. Although in theory this is supposed
- to work anywhere in HTTP that uses this style of parameter, in
- reality, it can only be used portably with the Content-Disposition
- "filename" parameter.
- If @value is %NULL, this will just append @name to @string.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="string" transfer-ownership="none">
- <doc xml:space="preserve">a #GString being used to construct an HTTP header value</doc>
- <type name="GLib.String" c:type="GString*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">a parameter name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a parameter value, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="header_g_string_append_param_quoted"
- c:identifier="soup_header_g_string_append_param_quoted"
- version="2.30">
- <doc xml:space="preserve">Appends something like <literal>@name="@value"</literal> to
- @string, taking care to escape any quotes or backslashes in @value.
- If @value is (non-ASCII) UTF-8, this will instead use RFC 5987
- encoding, just like soup_header_g_string_append_param().</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="string" transfer-ownership="none">
- <doc xml:space="preserve">a #GString being used to construct an HTTP header value</doc>
- <type name="GLib.String" c:type="GString*"/>
- </parameter>
- <parameter name="name" transfer-ownership="none">
- <doc xml:space="preserve">a parameter name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a parameter value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="header_parse_list" c:identifier="soup_header_parse_list">
- <doc xml:space="preserve">Parses a header whose content is described by RFC2616 as
- "#something", where "something" does not itself contain commas,
- except as part of quoted-strings.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSList of
- list elements, as allocated strings</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="header" transfer-ownership="none">
- <doc xml:space="preserve">a header value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="header_parse_param_list"
- c:identifier="soup_header_parse_param_list">
- <doc xml:space="preserve">Parses a header which is a comma-delimited list of something like:
- <literal>token [ "=" ( token | quoted-string ) ]</literal>.
- Tokens that don't have an associated value will still be added to
- the resulting hash table, but with a %NULL value.
- This also handles RFC5987 encoding (which in HTTP is mostly used
- for giving UTF8-encoded filenames in the Content-Disposition
- header).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a
- #GHashTable of list elements, which can be freed with
- soup_header_free_param_list().</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="header" transfer-ownership="none">
- <doc xml:space="preserve">a header value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="header_parse_quality_list"
- c:identifier="soup_header_parse_quality_list">
- <doc xml:space="preserve">Parses a header whose content is a list of items with optional
- "qvalue"s (eg, Accept, Accept-Charset, Accept-Encoding,
- Accept-Language, TE).
- If @unacceptable is not %NULL, then on return, it will contain the
- items with qvalue 0. Either way, those items will be removed from
- the main list.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #GSList of
- acceptable values (as allocated strings), highest-qvalue first.</doc>
- <type name="GLib.SList" c:type="GSList*">
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="header" transfer-ownership="none">
- <doc xml:space="preserve">a header value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="unacceptable"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">on
- return, will contain a list of unacceptable values</doc>
- <type name="GLib.SList" c:type="GSList**">
- <type name="utf8"/>
- </type>
- </parameter>
- </parameters>
- </function>
- <function name="header_parse_semi_param_list"
- c:identifier="soup_header_parse_semi_param_list"
- version="2.24">
- <doc xml:space="preserve">Parses a header which is a semicolon-delimited list of something
- like: <literal>token [ "=" ( token | quoted-string ) ]</literal>.
- Tokens that don't have an associated value will still be added to
- the resulting hash table, but with a %NULL value.
- This also handles RFC5987 encoding (which in HTTP is mostly used
- for giving UTF8-encoded filenames in the Content-Disposition
- header).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a
- #GHashTable of list elements, which can be freed with
- soup_header_free_param_list().</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="utf8"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="header" transfer-ownership="none">
- <doc xml:space="preserve">a header value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="headers_parse"
- c:identifier="soup_headers_parse"
- version="2.26">
- <doc xml:space="preserve">Parses the headers of an HTTP request or response in @str and
- stores the results in @dest. Beware that @dest may be modified even
- on failure.
- This is a low-level method; normally you would use
- soup_headers_parse_request() or soup_headers_parse_response().</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">success or failure</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">the header string (including the Request-Line or Status-Line,
- but not the trailing blank line)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">length of @str</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="dest" transfer-ownership="none">
- <doc xml:space="preserve">#SoupMessageHeaders to store the header values in</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </parameter>
- </parameters>
- </function>
- <function name="headers_parse_request"
- c:identifier="soup_headers_parse_request">
- <doc xml:space="preserve">Parses the headers of an HTTP request in @str and stores the
- results in @req_method, @req_path, @ver, and @req_headers.
- Beware that @req_headers may be modified even on failure.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%SOUP_STATUS_OK if the headers could be parsed, or an
- HTTP error to be returned to the client if they could not be.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">the headers (up to, but not including, the trailing blank line)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">length of @str</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="req_headers" transfer-ownership="none">
- <doc xml:space="preserve">#SoupMessageHeaders to store the header values in</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </parameter>
- <parameter name="req_method"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, will be filled in with the
- request method</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- <parameter name="req_path"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, will be filled in with the
- request path</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- <parameter name="ver"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, will be filled in with the HTTP
- version</doc>
- <type name="HTTPVersion" c:type="SoupHTTPVersion*"/>
- </parameter>
- </parameters>
- </function>
- <function name="headers_parse_response"
- c:identifier="soup_headers_parse_response">
- <doc xml:space="preserve">Parses the headers of an HTTP response in @str and stores the
- results in @ver, @status_code, @reason_phrase, and @headers.
- Beware that @headers may be modified even on failure.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">success or failure.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="str" transfer-ownership="none">
- <doc xml:space="preserve">the headers (up to, but not including, the trailing blank line)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="len" transfer-ownership="none">
- <doc xml:space="preserve">length of @str</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="headers" transfer-ownership="none">
- <doc xml:space="preserve">#SoupMessageHeaders to store the header values in</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </parameter>
- <parameter name="ver"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, will be filled in with the HTTP
- version</doc>
- <type name="HTTPVersion" c:type="SoupHTTPVersion*"/>
- </parameter>
- <parameter name="status_code"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, will be filled in with
- the status code</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- <parameter name="reason_phrase"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, will be filled in with
- the reason phrase</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- </parameters>
- </function>
- <function name="headers_parse_status_line"
- c:identifier="soup_headers_parse_status_line">
- <doc xml:space="preserve">Parses the HTTP Status-Line string in @status_line into @ver,
- @status_code, and @reason_phrase. @status_line must be terminated by
- either "\0" or "\r\n".</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @status_line was parsed successfully.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="status_line" transfer-ownership="none">
- <doc xml:space="preserve">an HTTP Status-Line</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="ver"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, will be filled in with the HTTP
- version</doc>
- <type name="HTTPVersion" c:type="SoupHTTPVersion*"/>
- </parameter>
- <parameter name="status_code"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, will be filled in with
- the status code</doc>
- <type name="guint" c:type="guint*"/>
- </parameter>
- <parameter name="reason_phrase"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full"
- optional="1"
- allow-none="1">
- <doc xml:space="preserve">if non-%NULL, will be filled in with
- the reason phrase</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- </parameters>
- </function>
- <function name="http_error_quark" c:identifier="soup_http_error_quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- <function name="message_headers_iter_init"
- c:identifier="soup_message_headers_iter_init"
- moved-to="MessageHeadersIter.init">
- <doc xml:space="preserve">Initializes @iter for iterating @hdrs.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="iter"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">a pointer to a %SoupMessageHeadersIter
- structure</doc>
- <type name="MessageHeadersIter" c:type="SoupMessageHeadersIter*"/>
- </parameter>
- <parameter name="hdrs" transfer-ownership="none">
- <doc xml:space="preserve">a %SoupMessageHeaders</doc>
- <type name="MessageHeaders" c:type="SoupMessageHeaders*"/>
- </parameter>
- </parameters>
- </function>
- <function name="request_error_quark"
- c:identifier="soup_request_error_quark"
- moved-to="RequestError.quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- <function name="requester_error_quark"
- c:identifier="soup_requester_error_quark"
- moved-to="RequesterError.quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- <function name="status_get_phrase"
- c:identifier="soup_status_get_phrase"
- moved-to="Status.get_phrase">
- <doc xml:space="preserve">Looks up the stock HTTP description of @status_code. This is used
- by soup_message_set_status() to get the correct text to go with a
- given status code.
- <emphasis>There is no reason for you to ever use this
- function.</emphasis> If you wanted the textual description for the
- #SoupMessage:status_code of a given #SoupMessage, you should just
- look at the message's #SoupMessage:reason_phrase. However, you
- should only do that for use in debugging messages; HTTP reason
- phrases are not localized, and are not generally very descriptive
- anyway, and so they should never be presented to the user directly.
- Instead, you should create you own error messages based on the
- status code, and on what you were trying to do.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the (terse, English) description of @status_code</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">an HTTP status code</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="status_proxify"
- c:identifier="soup_status_proxify"
- moved-to="Status.proxify"
- version="2.26">
- <doc xml:space="preserve">Turns %SOUP_STATUS_CANT_RESOLVE into
- %SOUP_STATUS_CANT_RESOLVE_PROXY and %SOUP_STATUS_CANT_CONNECT into
- %SOUP_STATUS_CANT_CONNECT_PROXY. Other status codes are passed
- through unchanged.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the "proxified" equivalent of @status_code.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="status_code" transfer-ownership="none">
- <doc xml:space="preserve">a status code</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- </parameters>
- </function>
- <function name="str_case_equal" c:identifier="soup_str_case_equal">
- <doc xml:space="preserve">Compares @v1 and @v2 in a case-insensitive manner</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if they are equal (modulo case)</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="v1"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">an ASCII string</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- <parameter name="v2"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">another ASCII string</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="str_case_hash" c:identifier="soup_str_case_hash">
- <doc xml:space="preserve">Hashes @key in a case-insensitive manner.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">the hash code.</doc>
- <type name="guint" c:type="guint"/>
- </return-value>
- <parameters>
- <parameter name="key"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">ASCII string to hash</doc>
- <type name="gpointer" c:type="gconstpointer"/>
- </parameter>
- </parameters>
- </function>
- <function name="tld_domain_is_public_suffix"
- c:identifier="soup_tld_domain_is_public_suffix"
- version="2.40">
- <doc xml:space="preserve">Looks whether the @domain passed as argument is a public domain
- suffix (.org, .com, .co.uk, etc) or not.
- Prior to libsoup 2.46, this function required that @domain be in
- UTF-8 if it was an IDN. From 2.46 on, the name can be in either
- UTF-8 or ASCII format (and the return value will be in the same
- format).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if it is a public domain, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="domain" transfer-ownership="none">
- <doc xml:space="preserve">a domain name</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="tld_error_quark"
- c:identifier="soup_tld_error_quark"
- moved-to="TLDError.quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- <function name="tld_get_base_domain"
- c:identifier="soup_tld_get_base_domain"
- version="2.40"
- throws="1">
- <doc xml:space="preserve">Finds the base domain for a given @hostname. The base domain is
- composed by the top level domain (such as .org, .com, .co.uk, etc)
- plus the second level domain, for example for myhost.mydomain.com
- it will return mydomain.com.
- Note that %NULL will be returned for private URLs (those not ending
- with any well known TLD) because choosing a base domain for them
- would be totally arbitrary.
- Prior to libsoup 2.46, this function required that @hostname be in
- UTF-8 if it was an IDN. From 2.46 on, the name can be in either
- UTF-8 or ASCII format (and the return value will be in the same
- format).</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">a pointer to the start of the base domain in @hostname. If
- an error occurs, %NULL will be returned and @error set.</doc>
- <type name="utf8" c:type="const char*"/>
- </return-value>
- <parameters>
- <parameter name="hostname" transfer-ownership="none">
- <doc xml:space="preserve">a hostname</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="uri_decode"
- c:identifier="soup_uri_decode"
- moved-to="URI.decode">
- <doc xml:space="preserve">Fully %<!-- -->-decodes @part.
- In the past, this would return %NULL if @part contained invalid
- percent-encoding, but now it just ignores the problem (as
- soup_uri_new() already did).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the decoded URI part.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">a URI part</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="uri_encode"
- c:identifier="soup_uri_encode"
- moved-to="URI.encode">
- <doc xml:space="preserve">This %<!-- -->-encodes the given URI part and returns the escaped
- version in allocated memory, which the caller must free when it is
- done.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the encoded URI part</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">a URI part</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="escape_extra"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">additional reserved characters to
- escape (or %NULL)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="uri_normalize"
- c:identifier="soup_uri_normalize"
- moved-to="URI.normalize">
- <doc xml:space="preserve">%<!-- -->-decodes any "unreserved" characters (or characters in
- @unescape_extra) in @part, and %<!-- -->-encodes any non-ASCII
- characters, spaces, and non-printing characters in @part.
- "Unreserved" characters are those that are not allowed to be used
- for punctuation according to the URI spec. For example, letters are
- unreserved, so soup_uri_normalize() will turn
- <literal>http://example.com/foo/b%<!-- -->61r</literal> into
- <literal>http://example.com/foo/bar</literal>, which is guaranteed
- to mean the same thing. However, "/" is "reserved", so
- <literal>http://example.com/foo%<!-- -->2Fbar</literal> would not
- be changed, because it might mean something different to the
- server.
- In the past, this would return %NULL if @part contained invalid
- percent-encoding, but now it just ignores the problem (as
- soup_uri_new() already did).</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the normalized URI part</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="part" transfer-ownership="none">
- <doc xml:space="preserve">a URI part</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="unescape_extra"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">reserved characters to unescape (or %NULL)</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_append"
- c:identifier="soup_value_array_append"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Appends the provided value of type @type to @array as with
- g_value_array_append(). (The provided data is copied rather than
- being inserted directly.)</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="array" transfer-ownership="none">
- <doc xml:space="preserve">a #GValueArray</doc>
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">a value of type @type</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_append_vals"
- c:identifier="soup_value_array_append_vals"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Appends the provided values into @array as with
- g_value_array_append(). (The provided data is copied rather than
- being inserted directly.)</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="array" transfer-ownership="none">
- <doc xml:space="preserve">a #GValueArray</doc>
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </parameter>
- <parameter name="first_type" transfer-ownership="none">
- <doc xml:space="preserve">the type of the first value to add</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the first value to add, followed by other type/value
- pairs, terminated by %G_TYPE_INVALID</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_from_args"
- c:identifier="soup_value_array_from_args"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Creates a #GValueArray from the provided arguments, which must
- consist of pairs of a #GType and a value of that type, terminated
- by %G_TYPE_INVALID. (The array will contain copies of the provided
- data rather than pointing to the passed-in data directly.)</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">a new #GValueArray, or %NULL if an error
- occurred.</doc>
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">arguments to create a #GValueArray from</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_get_nth"
- c:identifier="soup_value_array_get_nth"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Gets the @index_ element of @array and stores its value into the
- provided location.</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @array contained a value with index @index_
- and type @type, %FALSE if not.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="array" transfer-ownership="none">
- <doc xml:space="preserve">a #GValueArray</doc>
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">the index to look up</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">a value of type pointer-to-@type</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_insert"
- c:identifier="soup_value_array_insert"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Inserts the provided value of type @type into @array as with
- g_value_array_insert(). (The provided data is copied rather than
- being inserted directly.)</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="array" transfer-ownership="none">
- <doc xml:space="preserve">a #GValueArray</doc>
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </parameter>
- <parameter name="index_" transfer-ownership="none">
- <doc xml:space="preserve">the index to insert at</doc>
- <type name="guint" c:type="guint"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">a value of type @type</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_new"
- c:identifier="soup_value_array_new"
- deprecated="1">
- <doc xml:space="preserve">Creates a new %GValueArray. (This is just a wrapper around
- g_value_array_new(), for naming consistency purposes.)</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new %GValueArray</doc>
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </return-value>
- </function>
- <function name="value_array_new_with_vals"
- c:identifier="soup_value_array_new_with_vals"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Creates a new %GValueArray and copies the provided values
- into it.</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new %GValueArray</doc>
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </return-value>
- <parameters>
- <parameter name="first_type" transfer-ownership="none">
- <doc xml:space="preserve">the type of the first value to add</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the first value to add, followed by other type/value
- pairs, terminated by %G_TYPE_INVALID</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="value_array_to_args"
- c:identifier="soup_value_array_to_args"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Extracts a #GValueArray into the provided arguments, which must
- consist of pairs of a #GType and a value of pointer-to-that-type,
- terminated by %G_TYPE_INVALID. The returned values will point to the
- same memory as the values in the array.</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">success or failure</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="array" transfer-ownership="none">
- <doc xml:space="preserve">a #GValueArray</doc>
- <type name="GObject.ValueArray" c:type="GValueArray*"/>
- </parameter>
- <parameter name="args" transfer-ownership="none">
- <doc xml:space="preserve">arguments to extract @array into</doc>
- <type name="va_list" c:type="va_list"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_hash_insert"
- c:identifier="soup_value_hash_insert"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Inserts the provided value of type @type into @hash. (Unlike with
- g_hash_table_insert(), both the key and the value are copied).</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="hash" transfer-ownership="none">
- <doc xml:space="preserve">a value hash</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="GObject.Value"/>
- </type>
- </parameter>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">the key</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">a value of type @type</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="value_hash_insert_vals"
- c:identifier="soup_value_hash_insert_vals"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Inserts the given data into @hash. As with
- soup_value_hash_insert(), the keys and values are copied rather
- than being inserted directly.</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="hash" transfer-ownership="none">
- <doc xml:space="preserve">a value hash</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="GObject.Value"/>
- </type>
- </parameter>
- <parameter name="first_key" transfer-ownership="none">
- <doc xml:space="preserve">the key for the first value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the type of @first_key, followed by the value, followed
- by additional key/type/value triplets, terminated by %NULL</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="value_hash_insert_value"
- c:identifier="soup_value_hash_insert_value"
- deprecated="1">
- <doc xml:space="preserve">Inserts @value into @hash. (Unlike with g_hash_table_insert(), both
- the key and the value are copied).</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="hash" transfer-ownership="none">
- <doc xml:space="preserve">a value hash</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="GObject.Value"/>
- </type>
- </parameter>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">the key</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a value</doc>
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="value_hash_lookup"
- c:identifier="soup_value_hash_lookup"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Looks up @key in @hash and stores its value into the provided
- location.</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @hash contained a value with key @key and
- type @type, %FALSE if not.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="hash" transfer-ownership="none">
- <doc xml:space="preserve">a value hash</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="GObject.Value"/>
- </type>
- </parameter>
- <parameter name="key" transfer-ownership="none">
- <doc xml:space="preserve">the key to look up</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">a #GType</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">a value of type pointer-to-@type</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="value_hash_lookup_vals"
- c:identifier="soup_value_hash_lookup_vals"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Looks up a number of keys in @hash and returns their values.</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if all of the keys were found, %FALSE
- if any were missing; note that you will generally need to
- initialize each destination variable to a reasonable default
- value, since there is no way to tell which keys were found
- and which were not.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="hash" transfer-ownership="none">
- <doc xml:space="preserve">a value hash</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="GObject.Value"/>
- </type>
- </parameter>
- <parameter name="first_key" transfer-ownership="none">
- <doc xml:space="preserve">the first key to look up</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the type of @first_key, a pointer to that type, and
- then additional key/type/pointer triplets, terminated
- by %NULL.</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="value_hash_new"
- c:identifier="soup_value_hash_new"
- deprecated="1">
- <doc xml:space="preserve">Creates a #GHashTable whose keys are strings and whose values
- are #GValue.</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new
- empty #GHashTable</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="GObject.Value"/>
- </type>
- </return-value>
- </function>
- <function name="value_hash_new_with_vals"
- c:identifier="soup_value_hash_new_with_vals"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Creates a #GHashTable whose keys are strings and whose values
- are #GValue, and initializes it with the provided data. As
- with soup_value_hash_insert(), the keys and values are copied
- rather than being inserted directly.</doc>
- <doc-deprecated xml:space="preserve">Use #GVariant API instead.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new
- #GHashTable, initialized with the given values</doc>
- <type name="GLib.HashTable" c:type="GHashTable*">
- <type name="utf8"/>
- <type name="GObject.Value"/>
- </type>
- </return-value>
- <parameters>
- <parameter name="first_key" transfer-ownership="none">
- <doc xml:space="preserve">the key for the first value</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the type of @first_key, followed by the value, followed
- by additional key/type/value triplets, terminated by %NULL</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="websocket_client_prepare_handshake"
- c:identifier="soup_websocket_client_prepare_handshake"
- version="2.50">
- <doc xml:space="preserve">Adds the necessary headers to @msg to request a WebSocket
- handshake. The message body and non-WebSocket-related headers are
- not modified.
- This is a low-level function; if you use
- soup_session_websocket_connect_async() to create a WebSocket
- connection, it will call this for you.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupMessage</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="origin"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">the "Origin" header to set</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="protocols"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">list of
- protocols to offer</doc>
- <array c:type="char**">
- <type name="utf8" c:type="char*"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="websocket_client_verify_handshake"
- c:identifier="soup_websocket_client_verify_handshake"
- version="2.50"
- throws="1">
- <doc xml:space="preserve">Looks at the response status code and headers in @msg and
- determines if they contain a valid WebSocket handshake response
- (given the handshake request in @msg's request headers).
- This is a low-level function; if you use
- soup_session_websocket_connect_async() to create a WebSocket
- connection, it will call this for you.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @msg contains a completed valid WebSocket
- handshake, %FALSE and an error if not.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">#SoupMessage containing both client and server sides of a
- WebSocket handshake</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- </parameters>
- </function>
- <function name="websocket_error_get_quark"
- c:identifier="soup_websocket_error_get_quark"
- moved-to="WebsocketError.get_quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- <function name="websocket_server_check_handshake"
- c:identifier="soup_websocket_server_check_handshake"
- version="2.50"
- throws="1">
- <doc xml:space="preserve">Examines the method and request headers in @msg and determines
- whether @msg contains a valid handshake request.
- If @origin is non-%NULL, then only requests containing a matching
- "Origin" header will be accepted. If @protocols is non-%NULL, then
- only requests containing a compatible "Sec-WebSocket-Protocols"
- header will be accepted.
- Normally soup_websocket_server_process_handshake() will take care
- of this for you, and if you use soup_server_add_websocket_handler()
- to handle accepting WebSocket connections, it will call that for
- you. However, this function may be useful if you need to perform
- more complicated validation; eg, accepting multiple different Origins,
- or handling different protocols depending on the path.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @msg contained a valid WebSocket handshake,
- %FALSE and an error if not.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">#SoupMessage containing the client side of a WebSocket handshake</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="origin"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">expected Origin header</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="protocols"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">allowed WebSocket
- protocols.</doc>
- <array c:type="char**">
- <type name="utf8" c:type="char*"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="websocket_server_process_handshake"
- c:identifier="soup_websocket_server_process_handshake"
- version="2.50">
- <doc xml:space="preserve">Examines the method and request headers in @msg and (assuming @msg
- contains a valid handshake request), fills in the handshake
- response.
- If @expected_origin is non-%NULL, then only requests containing a matching
- "Origin" header will be accepted. If @protocols is non-%NULL, then
- only requests containing a compatible "Sec-WebSocket-Protocols"
- header will be accepted.
- This is a low-level function; if you use
- soup_server_add_websocket_handler() to handle accepting WebSocket
- connections, it will call this for you.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if @msg contained a valid WebSocket handshake
- request and was updated to contain a handshake response. %FALSE if not.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">#SoupMessage containing the client side of a WebSocket handshake</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="expected_origin"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">expected Origin header</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="protocols"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">allowed WebSocket
- protocols.</doc>
- <array c:type="char**">
- <type name="utf8" c:type="char*"/>
- </array>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_build_fault"
- c:identifier="soup_xmlrpc_build_fault"
- introspectable="0">
- <doc xml:space="preserve">This creates an XML-RPC fault response and returns it as a string.
- (To create a successful response, use
- soup_xmlrpc_build_method_response().)</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the text of the fault</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="fault_code" transfer-ownership="none">
- <doc xml:space="preserve">the fault code</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="fault_format" transfer-ownership="none">
- <doc xml:space="preserve">a printf()-style format string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the parameters to @fault_format</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_build_method_call"
- c:identifier="soup_xmlrpc_build_method_call"
- deprecated="1">
- <doc xml:space="preserve">This creates an XML-RPC methodCall and returns it as a string.
- This is the low-level method that soup_xmlrpc_request_new() is
- built on.
- @params is an array of #GValue representing the parameters to
- @method. (It is *not* a #GValueArray, although if you have a
- #GValueArray, you can just pass its <literal>values</literal>f and
- <literal>n_values</literal> fields.)
- The correspondence between glib types and XML-RPC types is:
- int: #int (%G_TYPE_INT)
- boolean: #gboolean (%G_TYPE_BOOLEAN)
- string: #char* (%G_TYPE_STRING)
- double: #double (%G_TYPE_DOUBLE)
- datetime.iso8601: #SoupDate (%SOUP_TYPE_DATE)
- base64: #GByteArray (%SOUP_TYPE_BYTE_ARRAY)
- struct: #GHashTable (%G_TYPE_HASH_TABLE)
- array: #GValueArray (%G_TYPE_VALUE_ARRAY)
- For structs, use a #GHashTable that maps strings to #GValue;
- soup_value_hash_new() and related methods can help with this.</doc>
- <doc-deprecated xml:space="preserve">Use soup_xmlrpc_build_request() instead.</doc-deprecated>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the text of the methodCall, or %NULL on
- error</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="method_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the XML-RPC method</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="params" transfer-ownership="none">
- <doc xml:space="preserve">arguments to @method</doc>
- <array length="2" zero-terminated="0" c:type="GValue*">
- <type name="GObject.Value" c:type="GValue"/>
- </array>
- </parameter>
- <parameter name="n_params" transfer-ownership="none">
- <doc xml:space="preserve">length of @params</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_build_method_response"
- c:identifier="soup_xmlrpc_build_method_response"
- deprecated="1">
- <doc xml:space="preserve">This creates a (successful) XML-RPC methodResponse and returns it
- as a string. To create a fault response, use
- soup_xmlrpc_build_fault().
- The glib type to XML-RPC type mapping is as with
- soup_xmlrpc_build_method_call(), qv.</doc>
- <doc-deprecated xml:space="preserve">Use soup_xmlrpc_build_response() instead.</doc-deprecated>
- <return-value transfer-ownership="full" nullable="1">
- <doc xml:space="preserve">the text of the methodResponse, or %NULL
- on error</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the return value</doc>
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_build_request"
- c:identifier="soup_xmlrpc_build_request"
- version="2.52"
- throws="1">
- <doc xml:space="preserve">This creates an XML-RPC methodCall and returns it as a string.
- This is the low-level method that soup_xmlrpc_message_new() is
- built on.
- @params is a #GVariant tuple representing the method parameters.
- Serialization details:
- - "a{s*}" and "{s*}" are serialized as &lt;struct&gt;
- - "ay" is serialized as &lt;base64&gt;
- - Other arrays and tuples are serialized as &lt;array&gt;
- - booleans are serialized as &lt;boolean&gt;
- - byte, int16, uint16 and int32 are serialized as &lt;int&gt;
- - uint32 and int64 are serialized as the nonstandard &lt;i8&gt; type
- - doubles are serialized as &lt;double&gt;
- - Strings are serialized as &lt;string&gt;
- - Variants (i.e. "v" type) are unwrapped and their child is serialized.
- - #GVariants created by soup_xmlrpc_variant_new_datetime() are serialized as
- &lt;dateTime.iso8601&gt;
- - Other types are not supported and will return %NULL and set @error.
- This notably includes: object-paths, signatures, uint64, handles, maybes
- and dictionaries with non-string keys.
- If @params is floating, it is consumed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the text of the methodCall, or %NULL on error.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="method_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the XML-RPC method</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="params" transfer-ownership="none">
- <doc xml:space="preserve">a #GVariant tuple</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_build_response"
- c:identifier="soup_xmlrpc_build_response"
- version="2.52"
- throws="1">
- <doc xml:space="preserve">This creates a (successful) XML-RPC methodResponse and returns it
- as a string. To create a fault response, use soup_xmlrpc_build_fault(). This
- is the low-level method that soup_xmlrpc_message_set_response() is built on.
- See soup_xmlrpc_build_request() for serialization details, but note
- that since a method can only have a single return value, @value
- should not be a tuple here (unless the return value is an array).
- If @value is floating, it is consumed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">the text of the methodResponse, or %NULL on error.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">the return value</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_error_quark"
- c:identifier="soup_xmlrpc_error_quark"
- moved-to="XMLRPCError.quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- <function name="xmlrpc_extract_method_call"
- c:identifier="soup_xmlrpc_extract_method_call"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Parses @method_call to get the name and parameters, and puts
- the parameters into variables of the appropriate types.
- The parameters are handled similarly to
- @soup_xmlrpc_build_method_call, with pairs of types and values,
- terminated by %G_TYPE_INVALID, except that values are pointers to
- variables of the indicated type, rather than values of the type.
- See also soup_xmlrpc_parse_method_call(), which can be used if
- you don't know the types of the parameters.</doc>
- <doc-deprecated xml:space="preserve">Use soup_xmlrpc_parse_request_full() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">success or failure.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="method_call" transfer-ownership="none">
- <doc xml:space="preserve">the XML-RPC methodCall string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length of @method_call, or -1 if it is NUL-terminated</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="method_name"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on return, the methodName from @method_call</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">return types and locations for parameters</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_extract_method_response"
- c:identifier="soup_xmlrpc_extract_method_response"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Parses @method_response and extracts the return value into
- a variable of the correct type.
- If @method_response is a fault, the return value will be unset,
- and @error will be set to an error of type %SOUP_XMLRPC_FAULT, with
- the error #code containing the fault code, and the error #message
- containing the fault string. (If @method_response cannot be parsed
- at all, soup_xmlrpc_extract_method_response() will return %FALSE,
- but @error will be unset.)</doc>
- <doc-deprecated xml:space="preserve">Use soup_xmlrpc_parse_response() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if a return value was parsed, %FALSE if the
- response was of the wrong type, or contained a fault.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="method_response" transfer-ownership="none">
- <doc xml:space="preserve">the XML-RPC methodResponse string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length of @method_response, or -1 if it is NUL-terminated</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="error" transfer-ownership="none">
- <doc xml:space="preserve">error return value</doc>
- <type name="GLib.Error" c:type="GError**"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the expected type of the return value</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">location for return value</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_fault_quark"
- c:identifier="soup_xmlrpc_fault_quark"
- moved-to="XMLRPCFault.quark">
- <return-value transfer-ownership="none">
- <type name="GLib.Quark" c:type="GQuark"/>
- </return-value>
- </function>
- <function name="xmlrpc_message_new"
- c:identifier="soup_xmlrpc_message_new"
- version="2.52"
- throws="1">
- <doc xml:space="preserve">Creates an XML-RPC methodCall and returns a #SoupMessage, ready
- to send, for that method call.
- See soup_xmlrpc_build_request() for serialization details.
- If @params is floating, it is consumed.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #SoupMessage encoding the
- indicated XML-RPC request, or %NULL on error.</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">URI of the XML-RPC service</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="method_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the XML-RPC method to invoke at @uri</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="params" transfer-ownership="none">
- <doc xml:space="preserve">a #GVariant tuple</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_message_set_fault"
- c:identifier="soup_xmlrpc_message_set_fault"
- version="2.52"
- introspectable="0">
- <doc xml:space="preserve">Sets the status code and response body of @msg to indicate an
- unsuccessful XML-RPC call, with the error described by @fault_code
- and @fault_format.</doc>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">an XML-RPC request</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="fault_code" transfer-ownership="none">
- <doc xml:space="preserve">the fault code</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="fault_format" transfer-ownership="none">
- <doc xml:space="preserve">a printf()-style format string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the parameters to @fault_format</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_message_set_response"
- c:identifier="soup_xmlrpc_message_set_response"
- version="2.52"
- throws="1">
- <doc xml:space="preserve">Sets the status code and response body of @msg to indicate a
- successful XML-RPC call, with a return value given by @value. To set a
- fault response, use soup_xmlrpc_message_set_fault().
- See soup_xmlrpc_build_request() for serialization details.
- If @value is floating, it is consumed.</doc>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE on success, %FALSE otherwise.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">an XML-RPC request</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="value" transfer-ownership="none">
- <doc xml:space="preserve">a #GVariant</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_parse_method_call"
- c:identifier="soup_xmlrpc_parse_method_call"
- deprecated="1">
- <doc xml:space="preserve">Parses @method_call to get the name and parameters, and returns the
- parameter values in a #GValueArray; see also
- soup_xmlrpc_extract_method_call(), which is more convenient if you
- know in advance what the types of the parameters will be.</doc>
- <doc-deprecated xml:space="preserve">Use soup_xmlrpc_parse_request_full() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">success or failure.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="method_call" transfer-ownership="none">
- <doc xml:space="preserve">the XML-RPC methodCall string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length of @method_call, or -1 if it is NUL-terminated</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="method_name"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on return, the methodName from @method_call</doc>
- <type name="utf8" c:type="char**"/>
- </parameter>
- <parameter name="params"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on return, the parameters from @method_call</doc>
- <type name="GObject.ValueArray" c:type="GValueArray**"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_parse_method_response"
- c:identifier="soup_xmlrpc_parse_method_response"
- deprecated="1"
- throws="1">
- <doc xml:space="preserve">Parses @method_response and returns the return value in @value. If
- @method_response is a fault, @value will be unchanged, and @error
- will be set to an error of type %SOUP_XMLRPC_FAULT, with the error
- #code containing the fault code, and the error #message containing
- the fault string. (If @method_response cannot be parsed at all,
- soup_xmlrpc_parse_method_response() will return %FALSE, but @error
- will be unset.)</doc>
- <doc-deprecated xml:space="preserve">Use soup_xmlrpc_parse_response() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <doc xml:space="preserve">%TRUE if a return value was parsed, %FALSE if the
- response could not be parsed, or contained a fault.</doc>
- <type name="gboolean" c:type="gboolean"/>
- </return-value>
- <parameters>
- <parameter name="method_response" transfer-ownership="none">
- <doc xml:space="preserve">the XML-RPC methodResponse string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length of @method_response, or -1 if it is NUL-terminated</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="value"
- direction="out"
- caller-allocates="1"
- transfer-ownership="none">
- <doc xml:space="preserve">on return, the return value from @method_call</doc>
- <type name="GObject.Value" c:type="GValue*"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_parse_request"
- c:identifier="soup_xmlrpc_parse_request"
- version="2.52"
- throws="1">
- <doc xml:space="preserve">Parses @method_call and return the method name. Method parameters can be
- parsed later using soup_xmlrpc_params_parse().</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">method's name, or %NULL on error.</doc>
- <type name="utf8" c:type="char*"/>
- </return-value>
- <parameters>
- <parameter name="method_call" transfer-ownership="none">
- <doc xml:space="preserve">the XML-RPC methodCall string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length of @method_call, or -1 if it is NUL-terminated</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="params"
- direction="out"
- caller-allocates="0"
- transfer-ownership="full">
- <doc xml:space="preserve">on success, a new #SoupXMLRPCParams</doc>
- <type name="XMLRPCParams" c:type="SoupXMLRPCParams**"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_parse_response"
- c:identifier="soup_xmlrpc_parse_response"
- version="2.52"
- throws="1">
- <doc xml:space="preserve">Parses @method_response and returns the return value. If
- @method_response is a fault, %NULL is returned, and @error
- will be set to an error in the %SOUP_XMLRPC_FAULT domain, with the error
- code containing the fault code, and the error message containing
- the fault string. If @method_response cannot be parsed, %NULL is returned,
- and @error will be set to an error in the %SOUP_XMLRPC_ERROR domain.
- See soup_xmlrpc_params_parse() for deserialization details.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new (non-floating) #GVariant, or %NULL</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </return-value>
- <parameters>
- <parameter name="method_response" transfer-ownership="none">
- <doc xml:space="preserve">the XML-RPC methodResponse string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="length" transfer-ownership="none">
- <doc xml:space="preserve">the length of @method_response, or -1 if it is NUL-terminated</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="signature"
- transfer-ownership="none"
- nullable="1"
- allow-none="1">
- <doc xml:space="preserve">A valid #GVariant type string, or %NULL</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_request_new"
- c:identifier="soup_xmlrpc_request_new"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Creates an XML-RPC methodCall and returns a #SoupMessage, ready
- to send, for that method call.
- The parameters are passed as type/value pairs; ie, first a #GType,
- and then a value of the appropriate type, finally terminated by
- %G_TYPE_INVALID.</doc>
- <doc-deprecated xml:space="preserve">Use soup_xmlrpc_message_new() instead.</doc-deprecated>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a #SoupMessage encoding the
- indicated XML-RPC request.</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </return-value>
- <parameters>
- <parameter name="uri" transfer-ownership="none">
- <doc xml:space="preserve">URI of the XML-RPC service</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="method_name" transfer-ownership="none">
- <doc xml:space="preserve">the name of the XML-RPC method to invoke at @uri</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">parameters for @method</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_set_fault"
- c:identifier="soup_xmlrpc_set_fault"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Sets the status code and response body of @msg to indicate an
- unsuccessful XML-RPC call, with the error described by @fault_code
- and @fault_format.</doc>
- <doc-deprecated xml:space="preserve">Use soup_xmlrpc_message_set_fault() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">an XML-RPC request</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="fault_code" transfer-ownership="none">
- <doc xml:space="preserve">the fault code</doc>
- <type name="gint" c:type="int"/>
- </parameter>
- <parameter name="fault_format" transfer-ownership="none">
- <doc xml:space="preserve">a printf()-style format string</doc>
- <type name="utf8" c:type="const char*"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the parameters to @fault_format</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_set_response"
- c:identifier="soup_xmlrpc_set_response"
- introspectable="0"
- deprecated="1">
- <doc xml:space="preserve">Sets the status code and response body of @msg to indicate a
- successful XML-RPC call, with a return value given by @type and the
- following varargs argument, of the type indicated by @type.</doc>
- <doc-deprecated xml:space="preserve">Use soup_xmlrpc_message_set_response() instead.</doc-deprecated>
- <return-value transfer-ownership="none">
- <type name="none" c:type="void"/>
- </return-value>
- <parameters>
- <parameter name="msg" transfer-ownership="none">
- <doc xml:space="preserve">an XML-RPC request</doc>
- <type name="Message" c:type="SoupMessage*"/>
- </parameter>
- <parameter name="type" transfer-ownership="none">
- <doc xml:space="preserve">the type of the response value</doc>
- <type name="GType" c:type="GType"/>
- </parameter>
- <parameter name="..." transfer-ownership="none">
- <doc xml:space="preserve">the response value</doc>
- <varargs/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_variant_get_datetime"
- c:identifier="soup_xmlrpc_variant_get_datetime"
- version="2.52"
- throws="1">
- <doc xml:space="preserve">Get the #SoupDate from special #GVariant created by
- soup_xmlrpc_variant_new_datetime() or by parsing a &lt;dateTime.iso8601&gt;
- node. See soup_xmlrpc_params_parse().
- If @variant does not contain a datetime it will return an error but it is not
- considered a programmer error because it generally means parameters received
- are not in the expected type.</doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a new #SoupDate, or %NULL on error.</doc>
- <type name="Date" c:type="SoupDate*"/>
- </return-value>
- <parameters>
- <parameter name="variant" transfer-ownership="none">
- <doc xml:space="preserve">a #GVariant</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </parameter>
- </parameters>
- </function>
- <function name="xmlrpc_variant_new_datetime"
- c:identifier="soup_xmlrpc_variant_new_datetime"
- version="2.52">
- <doc xml:space="preserve">Construct a special #GVariant used to serialize a &lt;dateTime.iso8601&gt;
- node. See soup_xmlrpc_build_request().
- The actual type of the returned #GVariant is unspecified and "v" or "*"
- should be used in variant format strings. For example:
- <informalexample><programlisting>
- args = g_variant_new ("(v)", soup_xmlrpc_variant_new_datetime (date));
- </programlisting></informalexample></doc>
- <return-value transfer-ownership="full">
- <doc xml:space="preserve">a floating #GVariant.</doc>
- <type name="GLib.Variant" c:type="GVariant*"/>
- </return-value>
- <parameters>
- <parameter name="date" transfer-ownership="none">
- <doc xml:space="preserve">a #SoupDate</doc>
- <type name="Date" c:type="SoupDate*"/>
- </parameter>
- </parameters>
- </function>
- </namespace>
- </repository>
|