GithubHelp home page GithubHelp logo

httpghost's People

Contributors

steenhulthin avatar vinntreus avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

chenzuo tablesmit

httpghost's Issues

Make navigation pluggable to session

Needed to try implementation of webclient instead of httpwebrequest due to threading issues. To easier make these kind of changes make the implementation of navigation-mechanism pluggable to session.

Post complex objects

Handle posting objects which have properties like arrays of other objects etc.

Follow link in response content

var session = new Session();
var result = session.Get(URL).Follow("#mylink") => makes another get request which means this could be chained.

Return ElementCollectionClass for Find

To enable user to do:
session.Get(URL).Find("h1").Text() -- should check for inner html in all results instead of iterating through each and it should htmldecode

Update arguments

Should probably have a simple request object (and also have access to a simple response object inside the NavigationResult), which has attributes for URL and DATA instead of passing to params

Submit form from response content

var result = new Session().Get(URL).Submit("#myform") => finds form and uses it's action (url) and submit its method(ex. post) along with data containing

Keep authentication when redirected

Httpwebrequest clears the authentication-header upon a redirection, this serves as a problem for basic authentication scenarios, therefore upon a redirect a manual request has to be build and pass along the authenticationheader again.

Add subclasses to httpresult based on contenttype

empty or html-based contenttypes should return a HtmlResult where user has .Find etc which are only relevant to html. For application/json there should be a jsonresult which only has convertTo (which uses the json serializer). Make it pluggable to easy add other type of results like text/xml, application/pdf etc.. Fallback on httpresult for unknown types, which only should return response, request and timespent

Add test/assert helpers

Extension methods on httpresult for some use cases, e.g result.shouldBePdf(), result.shouldBeOK etc.

Handle redirects

Autofollow a certain amount of times, return count on navigation result

Handle restricted headers for WebRequestNavigator

HttpWebRequest considers some headers to be special and some not and prepares properties for these, when adding a restricted header an exception is thrown - since Request only handles headers in one way set the properties on httpwebrequest from the navigator to be able to use the "restricted" headers

Nuget-package

Currently have dependency to htmlagilitypack.. would be nice to only have one dll in package..

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.