params 0.0.1 copy "params: ^0.0.1" to clipboard
params: ^0.0.1 copied to clipboard

outdatedDart 1 only

Params provides 'window.location.search' on client and 'request.requestedUrl.query' on server as a Map

##Params 0.0.1

Params is a package that provides window.location.search on client and request.requestedUrl.query on server as a Map

  1. install via pub

##On the client


  1. Import the package inside your server like this

    import 'package:params/client.dart';
    
  2. At the beginning of your main function call add

    initParams();
    
  3. If the window location is http://127.0.0.1:3030/Rainbow/web/rainbow.html?id=1&language=dart the Standart client params map looks like this

    {
      id: 1, 
      language: dart, 
      _ancestorOrigins: [], 
      _hash: , 
      _host: 127.0.0.1:3030, 
      _hostname: 127.0.0.1, 
      _href: http://127.0.0.1:3030/Rainbow/web/rainbow.html?id=1&language=dart,
      _origin: http://127.0.0.1:3030, 
      _pathname: /Rainbow/web/rainbow.html, 
      _port: 3030, 
      _protocol: http:, 
      _search: ?id=1&language=dart
    }
    

Now you can access the search values using params['key'] like below

   void main() {
     initParams();
     if(params['id'] != null){
       String id = params['id'];
       String language = params['language'];
       var url = http://127.0.0.1:8090/loadItem?id=$id&language=$language;
       var request = HttpRequest.getString(url).then(displayUserAccount);
     }else{
       content.text="no UserAccount id available";
     }
   };

##On the server


  1. Import the package inside your server like this

    import 'package:params/server.dart';
    
  2. At the beginning of your server.listen function add

    initParams();
    
  3. If a HTTP request is made to http://127.0.0.1:8090/loadItem?id=1&language=dart

the standart server params map looks like this:

   {
    id: 1,
    language: dart,
    _query: id=1&language=dart, 
    _authority: 127.0.0.1:8090, 
    _host: 127.0.0.1, 
    _port: 8090, 
    _path: /loadItem, 
    _pathSegments: [loadItem], 
    _queryParameters: {
      id: 1,
      language: dart
    }, 
    _isAbsolute: true, 
    _hasAuthority: true, 
    _origin: http://127.0.0.1:8090, 
    __isPathAbsolute: true, 
    _hashCode: 277712556
   }

Now you can access the query values using params['key'] like below

   server.listen((HttpRequest request) {
     initParams(request);
     //if request.requestedUrl.query is "id=1&language=dart"
     String id = params['id'];
     String language = params['language'];
     switch (request.method) {
       case "GET": 
         handleGet(request);
         break;
       case "POST": 
         handlePost(request);
         break;
       case "OPTIONS": 
         handleOptions(request);
         break;
       default: defaultHandler(request);
     }
   } 
0
likes
0
pub points
44%
popularity

Publisher

unverified uploader

Params provides 'window.location.search' on client and 'request.requestedUrl.query' on server as a Map

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

More

Packages that depend on params