Coder Social home page Coder Social logo

ideas's People

Contributors

bdw avatar choroba avatar cromedome avatar daxim avatar dumildekdu avatar gabru-md avatar jj avatar kyzn avatar masterduke17 avatar patrickbkr avatar patzim avatar pmurias avatar samcv avatar shadowcat-mdk avatar ufobat avatar wbraswell avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

ideas's Issues

Discuss project ideas here

If you are not sure whether your idea might be suitable for a full-fledged (complete or incomplete) page, discuss it here with the rest of the contributors. Just add it as a comment, or open another issue (referencing this one) to discuss it.

PSGI protocol for HTTP::Tiny

The https://metacpan.org/pod/LWP::Protocol::PSGI module allows you to provide code that will called to respond to requests you make with LWP, rather than them going off to a server.

A GSoC student would author something analogous, but for HTTP::Tiny.

The pod of LWP::Protocol::PSGI has a good example, where a trivial dancer app is loaded to respond to LWP requests to google.com. In a test file, an author can mock a web service without having to start up a http daemon of some sort, and doesnt need to insert shims in their code either. Another example from the real world is https://metacpan.org/source/HAKOBE/WebService-SyoboiCalendar-0.02/t/lib/SyobocalMock.pm. The code being tested in entirely unaware of the subterfuge.

A version for HTTP::Tiny would do something very similar. Authors of code using HTTP::Tiny could use this new HTTP::Tiny w/ PSGI in their test suites to mock web services they want to test against.

LWP is multiprotocol, so lends itself to having PSGI added. For HTTP::Tiny to speak to something via PSGI, the Student would need to do something like:

  • Fake HTTP::Tiny entirely, with a module that would be loaded prior to HTTP::Tiny and trick perl in to not loading it. For example:

use HTTP::Tiny::FakeViaPSGI; # This fakes the HTTP::Tiny namespace
use HTTP::Tiny; # This then does nothing other than call HTTP::Tiny->import, as %INC already contains an entry for HTTP::Tiny

  • Add hooks in HTTP::Tiny, so that PSGI can be used
  • Other, as suggested by more creative perl people

Project idea: Perl 6 Testing Done Right

Description

Writing tests in perl 6 is typically done using the core Test module. Some of its functionality is less than awesome and error-prone, which prompted people to write alternatives (see Testo).

Expected outcomes

  • Review the alternatives and decide what are the biggest issues with routines provided by use Test.
  • Decide what can and should be changed.
  • Implement these changes in a versioned manner (so that test files that use v6.c or use v6.d remain working, and the changes are only affecting files that use v6.e language version).

Required skills

Experience with Perl 6 or desire to learn Perl 6, experience with testing.

Rating

Medium

Possible mentors

Write your name here please.

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.