[{"data":1,"prerenderedAt":364},["ShallowReactive",2],{"project-28758226":3},{"id":4,"name":5,"line":6,"line_source":7,"title":8,"url":9,"domain":10,"maker":11,"posted_at":12,"year":13,"points":14,"comments":15,"rank_in_year":16,"shown_in_year":17,"top":18,"tier":19,"category":20,"subcategory":21,"format":22,"keywords":23,"reception":29,"sentiment":30,"stance_mix":31,"scored_comments":35,"aspects":36,"strip":44,"post_text":46,"what":47,"said":80,"maker_in_thread":198,"shape":203,"grid":206,"attempts":325,"same_week":326,"maker_shows":34,"maker_hidden":356,"reader_version":357,"card":358},"28758226","Hurl","Run and test HTTP requests with plain text, curl and Rust","title","Show HN: Hurl – Run and test HTTP requests with plain text, curl and Rust","https:\u002F\u002Fhurl.dev\u002Findex.html","hurl.dev","jicea",1633435343,2021,223,49,187,2533,8,"notable","dev_tools","http testing cli","cli",[24,25,26,27,28],"http testing","curl alternative","api testing","integration tests","plain text http","mixed",0.345,{"positive":18,"neutral":32,"mixed":33,"critical":34},9,0,2,19,{"docs":37,"execution":38,"performance":40,"idea":41,"design":43},{"positive":33,"critical":33},{"positive":39,"critical":33},1,{"positive":39,"critical":39},{"positive":42,"critical":33},3,{"positive":33,"critical":33},[33,45,42,42,39,42,42,39,42,33,33,33,45,33,42,33,33,45,33,33,45,33,45,33,33,33,45,33,33,45,42,33,33,33,33,33,45,33,33,42],5,null,{"problem":48,"audience":55,"pricing":46,"motivation":59,"time_to_build":46,"stack":65,"openness":77,"stage":78,"team_size":79},{"value":49,"source":50,"evidence":51},"Running and testing HTTP requests and scenarios in CI or locally from plain text files","maker",[52],{"id":53,"by":11,"text":54},"28758227","We're releasing a new version of Hurl, a simple HTTP cli tool built on top of libcurl and Rust. Hurl allows running HTTP requests defined in a plain text format. It can be used…",{"value":56,"source":50,"evidence":57},"Both devops and developers",[58],{"id":53,"by":11,"text":54},{"value":60,"source":50,"evidence":61},"Run integration tests easily on CI or in a terminal, which is hard with IDE HTTP clients",[62],{"id":63,"by":11,"text":64},"28759478","Yes, we began to work on Hurl three years ago and the file format was \"accidentaly\" close to IntelliJ's HTTP file format. For the request part, it's not a coincidence since Hurl…",[66,73],{"value":67,"source":50,"evidence":68},"Rust",[69,70],{"id":53,"by":11,"text":54},{"id":71,"by":11,"text":72},"28759658","As a matter of fact, our first implementation of Hurl was written in Python. We switch to Rust because: - we're a 30 developper team with Linux, Windows and macOs computers.…",{"value":74,"source":50,"evidence":75},"libcurl",[76],{"id":53,"by":11,"text":54},"unknown","launched","team",{"praise":81,"objections":110,"requests":128,"questions":147,"alternatives":166},[82,98,106],{"value":83,"source":84,"evidence":85},"Useful for API smoke tests and CI integration tests","commenter",[86,90,94],{"id":87,"by":88,"text":89},"28758638","maverwa","Looks like something we could actually use for some API smoke tests. I'll bookmark it, thank you!",{"id":91,"by":92,"text":93},"28759292","certifiedloud","A lot of people use tools like hurl for integration and smoke tests during CI runs. The extension looks nice, but it is limited in that way.",{"id":95,"by":96,"text":97},"28783716","jayteee","I work in the same team as the two authors and we use it on a pretty large project : an online shop, and a few other smaller ones. We run hurl tests on every branch of our…",{"value":99,"source":84,"evidence":100},"Plain text format is simple and clean",[101,105],{"id":102,"by":103,"text":104},"28758248","ironmagma","This is looking like what Postman should have been.",{"id":53,"by":11,"text":54},{"value":107,"source":50,"evidence":108},"Single binary and Windows support make installation easy",[109],{"id":71,"by":11,"text":72},[111,121],{"value":112,"source":84,"evidence":113},"No support for running requests concurrently yet",[114,117],{"id":115,"by":92,"text":116},"28759263","The first feature I look for in tools like this is the ability to run requests concurrently. Of course some requests depend on others, but there are often a lot of requests that…",{"id":118,"by":119,"text":120},"28759588","fabricereix","This is not possible yet. We have related issues: - https:\u002F\u002Fgithub.com\u002FOrange-OpenSource\u002Fhurl\u002Fissues\u002F87 - https:\u002F\u002Fgithub.com\u002FOrange-OpenSource\u002Fhurl\u002Fissues\u002F88 Running several Hurl…",{"value":122,"source":84,"evidence":123},"Installing requires a Rust compiler for some users",[124],{"id":125,"by":126,"text":127},"28759036","enriquto","This is seriously cool, and I would use it frequently... if only there was a rust compiler in my computer. Since it is a somewhat \"thin\" wrapper around curl, are there deep…",[129,136,140],{"value":130,"source":84,"evidence":131},"A VS Code extension for Hurl",[132],{"id":133,"by":134,"text":135},"28761564","leetrout","So what we really need is a nice VS Code extension for Hurl.",{"value":137,"source":84,"evidence":138},"Concurrent request execution",[139],{"id":115,"by":92,"text":116},{"value":141,"source":84,"evidence":142},"Chaining values between requests",[143],{"id":144,"by":145,"text":146},"28758928","woile","This looks really cool! Very promising! Is it possible to chain a value from a response to the next request? This would be useful for testing. My understand is that between the…",[148,155],{"value":149,"source":84,"evidence":150},"How to pronounce the name and whether a silent H is used",[151],{"id":152,"by":153,"text":154},"28759042","ReactiveJelly","I'm actually curious about the name. OP says \"an Hurl request\" above. So it's pronounced with a silent \"H\"? Like \"An hour of time?\"",{"value":156,"source":84,"evidence":157},"Whether the project is related to the hurl.it service",[158,162],{"id":159,"by":160,"text":161},"28761990","evanelias","Does no one remember hurl.it? It's a web-based http request tool that has already been using the name Hurl since 2009: https:\u002F\u002Fwww.hurlit.com\u002Fabout\u002F ... originally co-created by…",{"id":163,"by":164,"text":165},"28760367","ceejayoz","Interesting; is that someone rehosting the original app? https:\u002F\u002Fhurl.it\u002F got bought at some point.",[167,173,180,187,191],{"value":168,"source":84,"evidence":169},"REST Client extension for VS Code",[170],{"id":171,"by":134,"text":172},"28759246","The Hurl web app was great and has saved me a ton of time in the past. Recently I've replaced Hurl and Postman with the REST Client extension for VS Code.…",{"value":174,"source":84,"evidence":175},"IntelliJ HTTP client",[176],{"id":177,"by":178,"text":179},"28758824","tikkabhuna","When I saw this I was thinking of IntelliJ's HTTP client[1]. I hope that a standardised format can come out of this. [1]…",{"value":181,"source":84,"evidence":182},"dot-http",[183],{"id":184,"by":185,"text":186},"28758616","gizdan","There's also dot-http[0] which aims to provide a similar interface to what IntelliJ's requests feature has. I've used it a few times. It's a shame development has died, so…",{"value":188,"source":84,"evidence":189},"Postman",[190],{"id":102,"by":103,"text":104},{"value":192,"source":84,"evidence":193},"restclient.el",[194],{"id":195,"by":196,"text":197},"28760064","osener","Reminds me of https:\u002F\u002Fgithub.com\u002Fpashky\u002Frestclient.el. Nice to see an editor-agnostic version of this idea, great job!",{"comments":42,"answered":33,"key":199},[200,201,202],{"id":53,"text":54},{"id":63,"text":64},{"id":71,"text":72},{"commenters":204,"max_depth":45,"maker_replies":42,"first_comment_mins":33,"lifespan_hours":205},31,45,[207,209,211,213,216,218,220,223,225,227,229,231,235,236,238,240,243,246,249,250,251,253,255,257,260,262,265,266,268,272,276,279,282,283,285,286,291,294,296,299,301,304,307,310,312,316,318,320,322],[53,33,33,208,11,39],"maker\u002Fneutral\u002Fnone",[87,33,45,210,88,33],"project\u002Fpositive\u002Fnone",[144,33,42,212,145,33],"project\u002Fneutral\u002Fdocs",[214,33,42,215,119,33],"28759233","project\u002Fneutral\u002Fexecution",[115,33,39,217,92,33],"project\u002Fcritical\u002Fperformance",[118,33,42,219,119,33],"maker\u002Fneutral\u002Fperformance",[221,33,42,215,222,33],"28762858","nonameiguess",[224,33,42,215,119,33],"28771702",[171,39,39,226,134,33],"project\u002Fcritical\u002Fnone",[91,39,33,228,92,33],"commenter\u002Fneutral\u002Fnone",[133,39,42,230,134,33],"project\u002Fneutral\u002Fnone",[232,39,33,233,234,33],"28760260","other\u002Fneutral\u002Fnone","benatkin",[163,39,33,233,164,33],[237,39,33,233,234,33],"28762252",[195,34,45,239,196,33],"project\u002Fpositive\u002Fidea",[241,34,33,228,242,33],"28761481","jedimind",[244,34,33,228,245,33],"28771129","zshrdlu",[247,34,42,230,248,33],"28761687","brabel",[184,42,33,233,185,33],[177,42,33,233,178,33],[63,42,33,252,11,39],"maker\u002Fneutral\u002Fidea",[254,42,45,239,178,33],"28760003",[256,42,33,233,248,33],"28761750",[258,42,33,233,259,33],"28767280","bredren",[95,42,45,261,96,33],"project\u002Fpositive\u002Fexecution",[263,264,33,233,234,33],"28760251",4,[102,45,45,239,103,33],[267,45,33,233,164,33],"28758935",[269,270,33,233,271,33],"28760758",6,"Kinrany",[273,274,33,233,275,33],"28761040",7,"taf2",[277,18,33,233,278,33],"28760344","gt5050",[280,32,45,210,281,33],"28758918","phenkdo",[152,32,33,228,153,33],[284,32,33,228,281,33],"28759653",[159,32,33,233,160,33],[287,288,45,289,290,33],"28761083",10,"maker\u002Fpositive\u002Fnone","sandes",[125,292,42,293,126,33],11,"project\u002Fneutral\u002Fdesign",[295,292,33,228,103,33],"28759093",[297,292,33,228,298,33],"28759111","elsombrero",[300,292,33,233,153,33],"28759127",[302,292,33,233,303,33],"28759465","lpcvoid",[305,292,33,233,306,33],"28759989","DandyDev",[308,292,33,233,309,33],"28760553","nicoburns",[71,292,33,311,11,39],"maker\u002Fneutral\u002Fexecution",[313,292,45,314,315,33],"28760040","maker\u002Fpositive\u002Fperformance","Fiahil",[317,292,33,228,309,33],"28759354",[319,292,33,233,126,33],"28759646",[321,292,33,233,309,33],"28759949",[323,292,42,324,119,33],"28759395","maker\u002Fneutral\u002Fdesign",[],[327,332,337,341,346,351],{"id":328,"name":329,"points":330,"category":331},"28704873","Haxplore",603,"consumer_social",{"id":333,"name":334,"points":335,"category":336},"28765183","ChessCoach",506,"games",{"id":338,"name":339,"points":340,"category":20},"28718066","UI for Apache Kafka",158,{"id":342,"name":343,"points":344,"category":345},"28738141","SpotML",157,"ai",{"id":347,"name":348,"points":349,"category":350},"28775313","IndiePaper",146,"web_saas",{"id":352,"name":353,"points":354,"category":355},"28725803","PomPom",138,"languages",false,"v2",{"id":359,"name":5,"line":6,"ai":356,"cat":20,"year":13,"points":14,"comments":15,"rec":29,"s":360,"top":18,"kw":361,"maker":11,"domain":10,"tier":19,"attempts":33,"strip":362,"url":9,"mix":363,"praise":83,"objection":112,"sub":21},28758226,0.35,[24,25,26,27,28],"0533133130005030050050500050053000005003",[18,32,33,34],1794036611905]